Files
Yogstation/code/modules/unit_tests/mapping.dm
John Willard 74fcaf2af6 Updates unit testing (+ adds some new ones) (#19186)
* Updates our unit testing to be much better than it is now

Updates our unit testing to somewhat more functional ones ported from TG
I also added 2 new unit tests to serve as examples, mapping and job landmarks.

* Revert some minor things

* Fixes the log file

* Update unit_tests.dm

* adds a missing icon

* additional changes
2023-06-13 19:49:40 -05:00

20 lines
842 B
Plaintext

/// Conveys all log_mapping messages as unit test failures, as they all indicate mapping problems.
/datum/unit_test/log_mapping
// Happen before all other tests, to make sure we only capture normal mapping logs.
priority = TEST_PRE
/datum/unit_test/log_mapping/Run()
var/static/regex/test_areacoord_regex = regex(@"\(-?\d+,-?\d+,(-?\d+)\)")
for(var/log_entry in GLOB.unit_test_mapping_logs)
// Only fail if AREACOORD was conveyed, and it's a station or mining z-level.
// This is due to mapping errors don't have coords being impossible to diagnose as a unit test,
// and various ruins frequently intentionally doing non-standard things.
if(!test_areacoord_regex.Find(log_entry))
continue
var/z = text2num(test_areacoord_regex.group[1])
if(!is_station_level(z) && !is_mining_level(z))
continue
TEST_FAIL(log_entry)