mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 15:45:25 +01:00
Implement map tests for catching common errors. (#19204)
* Implement map tests for catching common errors. - Adds test runner: - to make it easier to track things across test types - for example to ensure a fully specified log can be emitted - Adds map tile test type: - when writing a test, coders implement CheckTile, which is handed a single turf - when the test runner runs these tests, it iterates over all turfs in the specified z-level, and runs each test's CheckTile on each turf in turn. - Adds two sample map tile tests: - check to see if a pipe exists on the same tile as a scrubber or vent - check to see if a tile contains two cables, each with a center node * Review #1: - Replace nested loops over map tiles with `block` - Remove check for valid turf in individual tests, I think it's safe to assume `block` will always return legit turfs - Added proper duration tracking for old tests - Gave log file an appropriate extension - Actually use `Fail` for tests * whoops * add more tests suggested by @Vi3trice * Add some more tests courtesy @Bm0n and @Vi3trice * windows are okay in space as long as it's nearspace * Add failure threshold to prevent excessive logging. Once this threshold is reached, a test will stop being processed for every tile. Note that this applies to `log_world` and `text2file` equally when logging large amounts of failures. * Document each test. * Remove unnecessary reboot * Let all map tests run to completion in CI matrix. * I know what alphabetical means
This commit is contained in:
committed by
GitHub
parent
091d5afbd9
commit
4ace2d6c2b
@@ -329,7 +329,9 @@ SUBSYSTEM_DEF(ticker)
|
||||
SSnightshift.check_nightshift(TRUE)
|
||||
|
||||
#ifdef UNIT_TESTS
|
||||
RunUnitTests()
|
||||
// Run map tests first in case unit tests futz with map state
|
||||
GLOB.test_runner.RunMap()
|
||||
GLOB.test_runner.Run()
|
||||
#endif
|
||||
|
||||
// Do this 10 second after roundstart because of roundstart lag, and make it more visible
|
||||
|
||||
Reference in New Issue
Block a user