jenkins rerun tests with logs on script crash
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit

This commit is contained in:
austin 2024-08-28 13:46:10 -04:00
parent 50aaf3f1f5
commit de8a361b52
5 changed files with 57 additions and 20 deletions

4
Jenkinsfile vendored
View File

@ -45,7 +45,11 @@ pipeline {
timeout: 25 timeout: 25
] ]
) { ) {
try {
sh 'mvn test -P integration' sh 'mvn test -P integration'
} catch(buildResult: 'FAILURE', stageResult: 'FAILURE') {
sh 'mvn test -P integration -DmaxLogs'
}
} }
} }
post { post {

View File

@ -1,3 +1,3 @@
#maven.buildNumber.plugin properties file #maven.buildNumber.plugin properties file
#Sat Aug 24 10:15:18 EDT 2024 #Wed Aug 28 13:34:16 EDT 2024
buildNumber=293 buildNumber=298

View File

@ -58,16 +58,29 @@ public class Main {
// //
// //
//parse command line arguments startUp(args);
CLIParser.parseCLIArgs(args);
startUp();
mainLoop(); mainLoop();
} }
/**
* Starts up the engine
*/
public static void startUp(){ 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 //initialize logging interfaces
LoggerInterface.initLoggers(); LoggerInterface.initLoggers();

View File

@ -4,6 +4,8 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import electrosphere.engine.Globals; import electrosphere.engine.Globals;
import electrosphere.logger.LoggerInterface;
import electrosphere.logger.Logger.LogLevel;
public class CLIParser { public class CLIParser {
@ -20,8 +22,15 @@ public class CLIParser {
case "--simulate": { case "--simulate": {
Globals.RUN_SIMULATION_ONLY = true; Globals.RUN_SIMULATION_ONLY = true;
} break; } break;
case "--maxLogs": {
LoggerInterface.setInitLogLevel(LogLevel.LOOP_DEBUG);
} break;
} }
} }
//check properties
if(System.getProperty("maxLogs") != null){
LoggerInterface.setInitLogLevel(LogLevel.LOOP_DEBUG);
}
} }
} }

View File

@ -10,7 +10,10 @@ import electrosphere.logger.Logger.LogLevel;
*/ */
public class LoggerInterface { public class LoggerInterface {
/**
* The level to initialize loggers with
*/
static LogLevel initLevel = LogLevel.WARNING;
public static Logger loggerNetworking; public static Logger loggerNetworking;
public static Logger loggerFileIO; public static Logger loggerFileIO;
@ -29,18 +32,18 @@ public class LoggerInterface {
* Initializes all logic objects * Initializes all logic objects
*/ */
public static void initLoggers(){ public static void initLoggers(){
loggerStartup = new Logger("Startup", LogLevel.WARNING); loggerStartup = new Logger("Startup", initLevel);
loggerNetworking = new Logger("Networking", LogLevel.DEBUG); loggerNetworking = new Logger("Networking", initLevel);
loggerFileIO = new Logger("File IO", LogLevel.WARNING); loggerFileIO = new Logger("File IO", initLevel);
loggerGameLogic = new Logger("Game Logic", LogLevel.WARNING); loggerGameLogic = new Logger("Game Logic", initLevel);
loggerRenderer = new Logger("Renderer", LogLevel.WARNING); loggerRenderer = new Logger("Renderer", initLevel);
loggerEngine = new Logger("Engine", LogLevel.WARNING); loggerEngine = new Logger("Engine", initLevel);
loggerAuth = new Logger("Auth", LogLevel.WARNING); loggerAuth = new Logger("Auth", initLevel);
loggerDB = new Logger("DB", LogLevel.WARNING); loggerDB = new Logger("DB", initLevel);
loggerAudio = new Logger("Audio", LogLevel.WARNING); loggerAudio = new Logger("Audio", initLevel);
loggerUI = new Logger("UI", LogLevel.WARNING); loggerUI = new Logger("UI", initLevel);
loggerScripts = new Logger("Scripts", LogLevel.WARNING); loggerScripts = new Logger("Scripts", initLevel);
loggerAI = new Logger("AI", LogLevel.WARNING); loggerAI = new Logger("AI", initLevel);
loggerStartup.INFO("Initialized loggers"); 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;
}
} }