mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-20 10:37:17 +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:
@@ -56,6 +56,7 @@ jobs:
|
||||
name: Unit Tests + SQL Validation
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false # Let all map tests run to completion
|
||||
matrix:
|
||||
maptype: ['/datum/map/cyberiad', '/datum/map/delta', '/datum/map/metastation']
|
||||
byondtype: ['STABLE', 'BETA']
|
||||
|
||||
Reference in New Issue
Block a user