diff options
Diffstat (limited to 'tests/config/test.cfg')
-rw-r--r-- | tests/config/test.cfg | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/config/test.cfg b/tests/config/test.cfg new file mode 100644 index 0000000..011e458 --- /dev/null +++ b/tests/config/test.cfg @@ -0,0 +1,45 @@ +-- SPDX-License-Identifier: GPL-3.0-or-later +-- disable output buffering to crashes do not leave us without log +io.stdout:setvbuf('no') +io.stderr:setvbuf('no') + +-- modify path to be able to load testing modules +package.path = package.path .. ';' .. env.SOURCE_PATH .. '/?.lua' + +-- export testing module in globals +local tapered = require('tapered.src.tapered') +for k, v in pairs(tapered) do + _G[k] = v +end + +-- don't send priming queries etc. +modules.unload 'detect_time_skew' +modules.unload 'priming' +modules.unload 'ta_signal_query' +modules.unload 'ta_update' + +-- load test +assert(type(env.TEST_FILE) == 'string') +log('processing test file %s', env.TEST_FILE) +local tests = dofile(env.TEST_FILE) + +-- run test after processed config file +-- default config will be used and we can test it. +assert(type(tests) == 'table', + string.format('file %s did not return a table of test' + .. ' functions, did you forget return?', + env.TEST_FILE)) + +local runtest = require('test_utils').test +worker.coroutine(function () + local at_least_one_test = false + for idx, t in ipairs(tests) do + assert(type(t) == 'function', + string.format('test table idx %d in file %s' + .. ' is not a function', idx, env.TEST_FILE)) + at_least_one_test = true + runtest(t) + end + assert(at_least_one_test, 'test set is empty?! a typo in function name?') + done() +end) |