Quietens Spaceman when debugging UNIT_TESTS locally (#75570)

The contract is removed by virtue of testing.
This commit is contained in:
Jordan Dominion
2023-05-29 21:21:55 -04:00
committed by GitHub
parent c6205dd063
commit 44f88e49be
9 changed files with 25 additions and 14 deletions
+1 -1
View File
@@ -60,7 +60,7 @@ jobs:
run: |
bash tools/ci/install_byond.sh
source $HOME/BYOND/byond/bin/byondsetup
tools/build/build --ci dm -DCIBUILDING -DANSICOLORS -Werror
tools/build/build --ci dm -DCIBUILDING -DANSICOLORS -WError -NWTG0001
- name: Run Tests
run: |
source $HOME/BYOND/byond/bin/byondsetup
+1
View File
@@ -19,6 +19,7 @@
*
* Functionally identical to [QDEL_HINT_QUEUE] if [GC_FAILURE_HARD_LOOKUP] is not enabled in _compiler_options.dm.
*/
#warn TG0001 qdel REFERENCE_TRACKING enabled
#define QDEL_HINT_FINDREFERENCE 5
/// Behavior as [QDEL_HINT_FINDREFERENCE], but only if the GC fails and a hard delete is forced.
#define QDEL_HINT_IFFAIL_FINDREFERENCE 6
+2 -1
View File
@@ -615,7 +615,7 @@ SUBSYSTEM_DEF(air)
// In an ideal world, we would have absolutely zero active turfs 99.99% of the time, but that's not the case. `log_mapping()` during world initialize triggers a CI fail.
#ifdef UNIT_TESTS
return
#endif
#else
// Associated lists, left-hand-side is the z-level or z-trait, right-hand-side is the number of active turfs associated with that.
var/list/tally_by_level = list()
// Discriminate for certain z-traits, stuff like "Linkage" is not helpful.
@@ -672,6 +672,7 @@ SUBSYSTEM_DEF(air)
message_to_log += "End of active turf list."
log_mapping(message_to_log.Join("\n"))
#endif
/turf/open/proc/resolve_active_graph()
. = list()
+1 -1
View File
@@ -404,7 +404,7 @@ SUBSYSTEM_DEF(garbage)
#ifdef REFERENCE_TRACKING
if (QDEL_HINT_FINDREFERENCE) //qdel will, if REFERENCE_TRACKING is enabled, display all references to this object, then queue the object for deletion.
SSgarbage.Queue(D)
D.find_references() //This breaks ci. Consider it insurance against somehow pring reftracking on accident
INVOKE_ASYNC(D, TYPE_PROC_REF(/datum, find_references))
if (QDEL_HINT_IFFAIL_FINDREFERENCE) //qdel will, if REFERENCE_TRACKING is enabled and the object fails to collect, display all references to this object.
SSgarbage.Queue(D)
SSgarbage.reference_find_on_fail[text_ref(D)] = TRUE
+2 -1
View File
@@ -9,10 +9,11 @@ SUBSYSTEM_DEF(minor_mapping)
/datum/controller/subsystem/minor_mapping/Initialize()
#ifdef UNIT_TESTS // This whole subsystem just introduces a lot of odd confounding variables into unit test situations, so let's just not bother with doing an initialize here.
return SS_INIT_NO_NEED
#endif // the mice are easily the bigger problem, but let's just avoid anything that could cause some bullshit.
#else
trigger_migration(CONFIG_GET(number/mice_roundstart))
place_satchels()
return SS_INIT_SUCCESS
#endif // the mice are easily the bigger problem, but let's just avoid anything that could cause some bullshit.
/// Spawns some critters on exposed wires, usually but not always mice
/datum/controller/subsystem/minor_mapping/proc/trigger_migration(to_spawn=10)
+2 -2
View File
@@ -299,8 +299,7 @@ GLOBAL_VAR(restart_counter)
#ifdef UNIT_TESTS
FinishTestRun()
return
#endif
#else
if(TgsAvailable())
var/do_hard_reboot
// check the hard reboot counter
@@ -331,6 +330,7 @@ GLOBAL_VAR(restart_counter)
TgsReboot() // TGS can decide to kill us right here, so it's important to do it last
..()
#endif
/world/proc/auxcleanup()
AUXTOOLS_FULL_SHUTDOWN(AUXLUA)
+2 -4
View File
@@ -280,12 +280,9 @@
if(cult_ascendent)
return
#ifdef UNIT_TESTS
// This proc is unnecessary clutter whilst running cult related unit tests
// Remove this if, at some point, someone decides to test that halos and eyes are added at expected ratios
return
#endif
#ifndef UNIT_TESTS
var/alive = 0
var/cultplayers = 0
for(var/I in GLOB.player_list)
@@ -315,6 +312,7 @@
mind.current.AddElement(/datum/element/cult_halo)
cult_ascendent = TRUE
log_game("The blood cult has ascended with [cultplayers] players.")
#endif
/datum/team/cult/add_member(datum/mind/new_member)
. = ..()
+11 -3
View File
@@ -47,6 +47,11 @@ export const WarningParameter = new Juke.Parameter({
alias: 'W',
});
export const NoWarningParameter = new Juke.Parameter({
type: 'string[]',
alias: 'NW',
});
export const DmMapsIncludeTarget = new Juke.Target({
executes: async () => {
const folders = [
@@ -65,7 +70,7 @@ export const DmMapsIncludeTarget = new Juke.Target({
});
export const DmTarget = new Juke.Target({
parameters: [DefineParameter, DmVersionParameter, WarningParameter],
parameters: [DefineParameter, DmVersionParameter, WarningParameter, NoWarningParameter],
dependsOn: ({ get }) => [
get(DefineParameter).includes('ALL_MAPS') && DmMapsIncludeTarget,
],
@@ -91,13 +96,14 @@ export const DmTarget = new Juke.Target({
await DreamMaker(`${DME_NAME}.dme`, {
defines: ['CBT', ...get(DefineParameter)],
warningsAsErrors: get(WarningParameter).includes('error'),
ignoreWarningCodes: get(NoWarningParameter),
namedDmVersion: get(DmVersionParameter),
});
},
});
export const DmTestTarget = new Juke.Target({
parameters: [DefineParameter, DmVersionParameter, WarningParameter],
parameters: [DefineParameter, DmVersionParameter, WarningParameter, NoWarningParameter],
dependsOn: ({ get }) => [
get(DefineParameter).includes('ALL_MAPS') && DmMapsIncludeTarget,
],
@@ -106,6 +112,7 @@ export const DmTestTarget = new Juke.Target({
await DreamMaker(`${DME_NAME}.test.dme`, {
defines: ['CBT', 'CIBUILDING', ...get(DefineParameter)],
warningsAsErrors: get(WarningParameter).includes('error'),
ignoreWarningCodes: get(NoWarningParameter),
namedDmVersion: get(DmVersionParameter),
});
Juke.rm('data/logs/ci', { recursive: true });
@@ -131,7 +138,7 @@ export const DmTestTarget = new Juke.Target({
});
export const AutowikiTarget = new Juke.Target({
parameters: [DefineParameter, DmVersionParameter, WarningParameter],
parameters: [DefineParameter, DmVersionParameter, WarningParameter, NoWarningParameter],
dependsOn: ({ get }) => [
get(DefineParameter).includes('ALL_MAPS') && DmMapsIncludeTarget,
],
@@ -143,6 +150,7 @@ export const AutowikiTarget = new Juke.Target({
await DreamMaker(`${DME_NAME}.test.dme`, {
defines: ['CBT', 'AUTOWIKI', ...get(DefineParameter)],
warningsAsErrors: get(WarningParameter).includes('error'),
ignoreWarningCodes: get(NoWarningParameter),
namedDmVersion: get(DmVersionParameter),
});
Juke.rm('data/autowiki_edits.txt');
+3 -1
View File
@@ -149,7 +149,9 @@ export const DreamMaker = async (dmeFile, options = {}) => {
testOutputFile(`${dmeBaseName}.rsc`);
const runWithWarningChecks = async (dmeFile, args) => {
const execReturn = await Juke.exec(dmeFile, args);
if (options.warningsAsErrors && execReturn.combined.match(/\d+:warning: /)) {
const ignoredWarningCodes = options.ignoreWarningCodes ?? [];
const reg = ignoredWarningCodes.length > 0 ? new RegExp(`\d+:warning: (?!(${ignoredWarningCodes.join('|')}))`) : /\d+:warning: /;
if (options.warningsAsErrors && execReturn.combined.match(reg)) {
Juke.logger.error(`Compile warnings treated as errors`);
throw new Juke.ExitCode(2);
}