diff --git a/test/main.lua b/test/main.lua index 83a35d165..2e8b52df1 100644 --- a/test/main.lua +++ b/test/main.lua @@ -206,6 +206,7 @@ function save_test_status(status) end function finish_tests() + dfhack.internal.IN_TEST = false if done_command then dfhack.run_command(done_command) end @@ -220,7 +221,9 @@ function load_tests(file, tests) dfhack.printerr('Failed to load file: ' .. tostring(err)) return false else + dfhack.internal.IN_TEST = true local ok, err = pcall(code) + dfhack.internal.IN_TEST = false if not ok then dfhack.printerr('Error when running file: ' .. tostring(err)) return false @@ -260,7 +263,9 @@ function run_test(test, status, counts) test.private.checks = 0 test.private.checks_ok = 0 counts.tests = counts.tests + 1 + dfhack.internal.IN_TEST = true local ok, err = pcall(test.func) + dfhack.internal.IN_TEST = false local passed = false if not ok then dfhack.printerr('test errored: ' .. test.name .. ': ' .. tostring(err)) diff --git a/test/test.lua b/test/test.lua new file mode 100644 index 000000000..11f038d66 --- /dev/null +++ b/test/test.lua @@ -0,0 +1,3 @@ +function test.internal_in_test() + expect.true_(dfhack.internal.IN_TEST) +end