Files
CHOMPStation2/code/unit_tests/subsystem_tests.dm
2021-02-27 18:45:36 +00:00

46 lines
1.5 KiB
Plaintext

/datum/unit_test/subsystem_shall_be_initialized
name = "SUBSYSTEM - INIT: Subsystems shall be initalized"
/datum/unit_test/subsystem_shall_be_initialized/start_test()
var/list/bad_subsystems = list()
for(var/datum/controller/subsystem/SS in Master.subsystems)
if (SS.flags & SS_NO_INIT)
continue
if(!SS.subsystem_initialized)
bad_subsystems += SS.type
if(bad_subsystems.len)
fail("Found improperly initialized subsystems: [english_list(bad_subsystems)]")
else
pass("All susbsystems have initialized properly")
return 1
/* Uncomment when all atoms init properly
/datum/unit_test/subsystem_atom_shall_have_no_bad_init_calls
name = "SUBSYSTEM - ATOMS: Shall have no bad init calls"
/datum/unit_test/subsystem_atom_shall_have_no_bad_init_calls/start_test()
if(SSatoms.BadInitializeCalls.len)
log_bad(jointext(SSatoms.InitLog(), null))
fail("[SSatoms] had bad initialization calls.")
else
pass("[SSatoms] had no bad initialization calls.")
return 1
/datum/unit_test/all_atoms_shall_be_initialized
name = "SUBSYSTEM - ATOMS: All atoms shall be initialized."
/datum/unit_test/all_atoms_shall_be_initialized/start_test()
set background = TRUE // avoid infinite loop warning; SS will still wait for us.
var/fail = FALSE
for(var/atom/atom in world)
if(!(atom.initialized))
log_bad("Uninitialized atom: [atom.log_info_line()]")
fail = TRUE
if(fail)
fail("There were uninitialized atoms.")
else
pass("All atoms were initialized")
return 1
*/