myk002
dfe4ddee96
ignore dismissed screens when checking for fort
2021-05-07 15:19:34 -07:00
myk002
e07635b345
don't record test status for unreachable tests
...
and print a summary line for how many tests were unreachable
2021-05-07 15:19:10 -07:00
myk002
eaf0722cdf
make save_dir configurable, use load-save to load
2021-05-07 15:19:09 -07:00
myk002
d288bc6bde
implement 'fortress' unit test mode
...
- implement navigation function for loading a fortress from the title
screen (requires a fortress save to be ready in region1/).
- ensure we don't try repeatedly to enter a mode that we can't reach
(such as getting back to the title screen from fortress mode). failing
to enter the mode once will skip all remaining tests in that mode.
2021-05-07 15:19:09 -07:00
lethosor
c4c9559b39
Make test failure stack traces include all frames from the test file
2021-04-17 13:55:43 -04:00
lethosor
909efe71a0
Add stack traces to test error messages
...
Also reorder for consistency with "test failed:" messages, which are at the end
of a test's output.
2021-04-12 00:48:10 -04:00
lethosor
f44442e5e9
Use mock.patch() in ci/test.lua
...
Other tests that could benefit are currently only in the scripts repo.
2021-04-09 00:50:11 -04:00
lethosor
7b2f01d45b
Add initial mock.patch() implementation for tests
2021-04-09 00:32:10 -04:00
myk002
12315fc5dd
wrap dfhack.run_script for tests
...
so dfhack.internal.scripts isn't polluted with IN_TEST envs
2021-04-06 11:33:49 -07:00
myk002
642d8cbe4b
handle nil values sent to printerr
2021-04-05 01:37:43 -07:00
myk002
13ca7f8c9e
move expect.lua from internal/ to test_util/
2021-04-04 17:37:37 -07:00
myk002
c8abecd082
detect dfhack.printerr usage at the test level
...
not the expect level. this allows us to properly nest expect calls
inside of expect.printerr_match() as originally intended.
2021-04-04 17:37:36 -07:00
myk002
5af1b627cb
add tests, move expect.lua
...
I moved expect.lua from library/lua/test/ to library/lua/internal since
luacov is configured to ignore any file with /test/ in its path
2021-04-04 17:37:36 -07:00
myk002
a6561911c1
error on unmatched printerr output during a test
...
- provides expect,printerr_match for matching printerr output
- fails tests if printerr is called outside the printerr_match wrapper
- changes api of expect.error_match to mirror the new printerr_match api
2021-04-04 17:37:33 -07:00
myk002
d71a816b20
remove debug marker
2021-03-29 12:28:19 -07:00
myk002
54a1e8d98a
move script_environment changes to test.lua
2021-03-29 12:23:53 -07:00
myk002
e4cab1b1c6
load scripts into different namespace for testing
2021-03-29 11:26:28 -07:00
myk002
8ccacd94e0
clarify clean_reqscript() function comment
2021-03-28 15:41:05 -07:00
myk002
035c9eec04
force reloading of scripts under test
...
and invalidate scripts once tests are complete. this ensures that the
IN_TEST flag is respected.
2021-03-28 15:40:59 -07:00
lethosor
62776f5568
Move `expect` functions to a separate file
...
This allows tests to test these functions without needing to include the test
wrapper directly (now ci/test.lua, formerly test/main.lua). Hopefully this
location is also more stable, similar to other libraries that are already tested.
2021-03-24 00:48:52 -04:00
lethosor
29a396ba54
Merge branch 'develop' into myk_move_main
2021-03-23 22:17:36 -04:00
myk002
a9192ebe12
update docs with new script path
2021-03-22 11:09:44 -07:00
myk002
5f00183177
move test harness out of test dir
...
and install to test.lua in top-level scripts directory instead of test/main.lua
2021-03-22 10:15:32 -07:00