From 453080d3fca1460313e2fa38baba67f6d10f9a2e Mon Sep 17 00:00:00 2001 From: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Date: Mon, 12 Dec 2022 23:31:36 -0800 Subject: [PATCH] Moves space initialization check to unit test - Saves 0.065s of init time (#71796) This hasn't been hit in a long time and this is an extremely hot proc, doing these checks in unit tests should catch any cases, though unlikely. This has zero cost at runtime because `if (FALSE)` statically compiles out. --- code/game/turfs/open/space/space.dm | 5 +++-- code/modules/unit_tests/focus_only_tests.dm | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/game/turfs/open/space/space.dm b/code/game/turfs/open/space/space.dm index 7d16f18e19d..ee2130d5c7a 100644 --- a/code/game/turfs/open/space/space.dm +++ b/code/game/turfs/open/space/space.dm @@ -47,8 +47,9 @@ SHOULD_CALL_PARENT(FALSE) air = space_gas - if(flags_1 & INITIALIZED_1) - stack_trace("Warning: [src]([type]) initialized multiple times!") + if (PERFORM_ALL_TESTS(focus_only/multiple_space_initialization)) + if(flags_1 & INITIALIZED_1) + stack_trace("Warning: [src]([type]) initialized multiple times!") flags_1 |= INITIALIZED_1 diff --git a/code/modules/unit_tests/focus_only_tests.dm b/code/modules/unit_tests/focus_only_tests.dm index 43f7d9ef5a3..05d07a513cc 100644 --- a/code/modules/unit_tests/focus_only_tests.dm +++ b/code/modules/unit_tests/focus_only_tests.dm @@ -15,5 +15,8 @@ /// Checks that every icon sent to vending machines is valid /datum/unit_test/focus_only/invalid_vending_machine_icon_states +/// Checks that space does not initialize multiple times +/datum/unit_test/focus_only/multiple_space_initialization + /// Checks that smoothing_groups and canSmoothWith are properly sorted in /atom/Initialize /datum/unit_test/focus_only/sorted_smoothing_groups