From de8a361b52e60ae735a239fbd08d723b76ee2eb1 Mon Sep 17 00:00:00 2001 From: austin Date: Wed, 28 Aug 2024 13:46:10 -0400 Subject: [PATCH] jenkins rerun tests with logs on script crash --- Jenkinsfile | 6 ++- buildNumber.properties | 4 +- src/main/java/electrosphere/engine/Main.java | 21 +++++++++-- .../electrosphere/engine/cli/CLIParser.java | 9 +++++ .../electrosphere/logger/LoggerInterface.java | 37 ++++++++++++------- 5 files changed, 57 insertions(+), 20 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 80850b06..31e96199 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,7 +45,11 @@ pipeline { timeout: 25 ] ) { - sh 'mvn test -P integration' + try { + sh 'mvn test -P integration' + } catch(buildResult: 'FAILURE', stageResult: 'FAILURE') { + sh 'mvn test -P integration -DmaxLogs' + } } } post { diff --git a/buildNumber.properties b/buildNumber.properties index 92a75fca..0c3b76f3 100644 --- a/buildNumber.properties +++ b/buildNumber.properties @@ -1,3 +1,3 @@ #maven.buildNumber.plugin properties file -#Sat Aug 24 10:15:18 EDT 2024 -buildNumber=293 +#Wed Aug 28 13:34:16 EDT 2024 +buildNumber=298 diff --git a/src/main/java/electrosphere/engine/Main.java b/src/main/java/electrosphere/engine/Main.java index 5d79cae2..bdb2c23f 100644 --- a/src/main/java/electrosphere/engine/Main.java +++ b/src/main/java/electrosphere/engine/Main.java @@ -58,16 +58,29 @@ public class Main { // // - //parse command line arguments - CLIParser.parseCLIArgs(args); - - startUp(); + startUp(args); mainLoop(); } + /** + * Starts up the engine + */ public static void startUp(){ + startUp(new String[]{ + "Renderer" + }); + } + + /** + * Starts up the engine + * @param args The command line arguments + */ + public static void startUp(String args[]){ + //parse command line arguments + CLIParser.parseCLIArgs(args); + //initialize logging interfaces LoggerInterface.initLoggers(); diff --git a/src/main/java/electrosphere/engine/cli/CLIParser.java b/src/main/java/electrosphere/engine/cli/CLIParser.java index ef35ef11..3a6f4c6c 100644 --- a/src/main/java/electrosphere/engine/cli/CLIParser.java +++ b/src/main/java/electrosphere/engine/cli/CLIParser.java @@ -4,6 +4,8 @@ import java.util.Arrays; import java.util.List; import electrosphere.engine.Globals; +import electrosphere.logger.LoggerInterface; +import electrosphere.logger.Logger.LogLevel; public class CLIParser { @@ -20,8 +22,15 @@ public class CLIParser { case "--simulate": { Globals.RUN_SIMULATION_ONLY = true; } break; + case "--maxLogs": { + LoggerInterface.setInitLogLevel(LogLevel.LOOP_DEBUG); + } break; } } + //check properties + if(System.getProperty("maxLogs") != null){ + LoggerInterface.setInitLogLevel(LogLevel.LOOP_DEBUG); + } } } diff --git a/src/main/java/electrosphere/logger/LoggerInterface.java b/src/main/java/electrosphere/logger/LoggerInterface.java index 37b5e85c..f031a785 100644 --- a/src/main/java/electrosphere/logger/LoggerInterface.java +++ b/src/main/java/electrosphere/logger/LoggerInterface.java @@ -10,7 +10,10 @@ import electrosphere.logger.Logger.LogLevel; */ public class LoggerInterface { - + /** + * The level to initialize loggers with + */ + static LogLevel initLevel = LogLevel.WARNING; public static Logger loggerNetworking; public static Logger loggerFileIO; @@ -29,18 +32,18 @@ public class LoggerInterface { * Initializes all logic objects */ public static void initLoggers(){ - loggerStartup = new Logger("Startup", LogLevel.WARNING); - loggerNetworking = new Logger("Networking", LogLevel.DEBUG); - loggerFileIO = new Logger("File IO", LogLevel.WARNING); - loggerGameLogic = new Logger("Game Logic", LogLevel.WARNING); - loggerRenderer = new Logger("Renderer", LogLevel.WARNING); - loggerEngine = new Logger("Engine", LogLevel.WARNING); - loggerAuth = new Logger("Auth", LogLevel.WARNING); - loggerDB = new Logger("DB", LogLevel.WARNING); - loggerAudio = new Logger("Audio", LogLevel.WARNING); - loggerUI = new Logger("UI", LogLevel.WARNING); - loggerScripts = new Logger("Scripts", LogLevel.WARNING); - loggerAI = new Logger("AI", LogLevel.WARNING); + loggerStartup = new Logger("Startup", initLevel); + loggerNetworking = new Logger("Networking", initLevel); + loggerFileIO = new Logger("File IO", initLevel); + loggerGameLogic = new Logger("Game Logic", initLevel); + loggerRenderer = new Logger("Renderer", initLevel); + loggerEngine = new Logger("Engine", initLevel); + loggerAuth = new Logger("Auth", initLevel); + loggerDB = new Logger("DB", initLevel); + loggerAudio = new Logger("Audio", initLevel); + loggerUI = new Logger("UI", initLevel); + loggerScripts = new Logger("Scripts", initLevel); + loggerAI = new Logger("AI", initLevel); loggerStartup.INFO("Initialized loggers"); } @@ -76,4 +79,12 @@ public class LoggerInterface { } } + /** + * Sets the level to initialize loggers with + * @param level The level + */ + public static void setInitLogLevel(LogLevel level){ + LoggerInterface.initLevel = level; + } + }