-- 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 local ffi = require('ffi') assert(type(env.TEST_FILE) == 'string') log_info(ffi.C.LOG_GRP_TESTS, '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)