hard kill test on timeout during setup
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
This commit is contained in:
parent
04b48c0c3b
commit
637230c744
@ -1,5 +1,7 @@
|
||||
package electrosphere.engine.threads;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Semaphore;
|
||||
@ -82,6 +84,14 @@ public class ThreadManager {
|
||||
return loadingThreads.size() > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the list of loading threads
|
||||
* @return The list of loading threads
|
||||
*/
|
||||
public List<LoadingThread> getLoadingThreads(){
|
||||
return Collections.unmodifiableList(loadingThreads);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tries to close all threads
|
||||
*/
|
||||
|
||||
@ -8,6 +8,9 @@ import electrosphere.engine.loadingthreads.LoadingThread.LoadingThreadType;
|
||||
|
||||
public class EngineInit {
|
||||
|
||||
//The maximum number of frames to wait before failing the startup routine
|
||||
public static final int MAX_FRAMES_TO_WAIT = 1000;
|
||||
|
||||
/**
|
||||
* Setups up a locally-connected client and server that have loaded a test scene
|
||||
*/
|
||||
@ -19,6 +22,7 @@ public class EngineInit {
|
||||
|
||||
//
|
||||
//wait for client to be fully init'd
|
||||
int frames = 0;
|
||||
while(Globals.threadManager.isLoading()){
|
||||
TestEngineUtils.simulateFrames(1);
|
||||
try {
|
||||
@ -26,6 +30,16 @@ public class EngineInit {
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user