From a95086e6dbd6ac3c3ea131054fd4b7b1784dd5c2 Mon Sep 17 00:00:00 2001 From: austin Date: Wed, 4 Sep 2024 00:43:10 -0400 Subject: [PATCH] more arch on testing extensions --- .../template/extensions/EntityExtension.java | 2 +- src/test/java/testutils/EngineInit.java | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/test/java/template/extensions/EntityExtension.java b/src/test/java/template/extensions/EntityExtension.java index c56bb279..a14ab3b1 100644 --- a/src/test/java/template/extensions/EntityExtension.java +++ b/src/test/java/template/extensions/EntityExtension.java @@ -19,7 +19,7 @@ public class EntityExtension implements BeforeEachCallback, AfterEachCallback { TestEngineUtils.initGraphicalEngine(); //load scene - EngineInit.setupConnectedTestScene(); + EngineInit.setupConnectedTestViewport(); } @Override diff --git a/src/test/java/testutils/EngineInit.java b/src/test/java/testutils/EngineInit.java index 94a5ebe7..5a2adfe7 100644 --- a/src/test/java/testutils/EngineInit.java +++ b/src/test/java/testutils/EngineInit.java @@ -15,6 +15,38 @@ public class EngineInit { * Setups up a locally-connected client and server that have loaded a test scene */ public static void setupConnectedTestScene(){ + // + //load the scene + LoadingThread loadingThread = new LoadingThread(LoadingThreadType.LEVEL,"testscene1"); + Globals.threadManager.start(loadingThread); + + // + //wait for client to be fully init'd + int frames = 0; + while(Globals.threadManager.isLoading()){ + TestEngineUtils.simulateFrames(1); + try { + TimeUnit.MILLISECONDS.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + frames++; + if(frames > MAX_FRAMES_TO_WAIT){ + String errorMessage = "Failed to setup connected test scene!\n" + + "Still running threads are:\n" + ; + for(LoadingThread thread : Globals.threadManager.getLoadingThreads()){ + errorMessage = errorMessage + thread.getType() + "\n"; + } + throw new IllegalStateException(errorMessage); + } + } + } + + /** + * Setups up a locally-connected client and server that have loaded the viewport + */ + public static void setupConnectedTestViewport(){ // //load the scene LoadingThread loadingThread = new LoadingThread(LoadingThreadType.LOAD_VIEWPORT);