Files
Polaris/code/unit_tests/subsystem_tests.dm
MistakeNot4892 b22a0568a3 Sideports a couple of init unit tests from Neb. (#7893)
* Sideports a couple of init unit tests from Neb.

* Trying to unfuck initialize logic.

* Removing del()s.

* Adjusting return values to Initialize().

* Moving some dangerous object logic from obj onto the two types that use it.

* Rolling back some init changes and commenting out initialized atom unit test.

* this comment formatting is a minor war crime

* Removed sleep() from signaler circuit Initialize().

* Additional Init fixes post-rebase.

* Uncomments subsystem test since that's passing.
2021-02-21 12:03:34 -09: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
*/