Files
Paradise/code/modules/unit_tests/subsystem_metric_sanity.dm
AffectedArc07 946fb4dff6 Small MC refactor (#20017)
* Small MC refactor

* Order fix

* Nabs tgstation/tgstation#27324

* Oops

* gnarg
2023-01-18 12:06:24 -06:00

23 lines
953 B
Plaintext

// Unit test to ensure SS metrics are valid
/datum/unit_test/subsystem_metric_sanity/Run()
for(var/datum/controller/subsystem/SS in Master.subsystems)
var/list/data = SS.get_metrics()
if(length(data) != 4)
Fail("SS[SS.ss_id] has invalid metrics data!")
continue
if(isnull(data["cost"]))
Fail("SS[SS.ss_id] has invalid metrics data! No 'cost' found in [json_encode(data)]")
continue
if(isnull(data["tick_usage"]))
Fail("SS[SS.ss_id] has invalid metrics data! No 'tick_usage' found in [json_encode(data)]")
continue
if(isnull(data["custom"]))
Fail("SS[SS.ss_id] has invalid metrics data! No 'custom' found in [json_encode(data)]")
continue
if(!islist(data["custom"]))
Fail("SS[SS.ss_id] has invalid metrics data! 'custom' is not a list in [json_encode(data)]")
continue
if(isnull(data["sleep_count"]))
Fail("SS[SS.ss_id] has invalid metrics data! No 'sleep_count' found in [json_encode(data)]")
continue