/** * Set the JVM in headless mode */ public static void setHeadless(){ if(isDefaultHeadless){ //already headless: nothing to do return; } setHeadless(true); }
/** * Restore the original headless setting of when the JVM was started. * This is necessary for when EvoSuite tests (which are in headless mode) are * run together with manual tests that are not headless. */ public static void restoreHeadlessMode(){ if(GraphicsEnvironment.isHeadless() && !isDefaultHeadless){ setHeadless(false); } }
@Test public void testWhenHeadless(){ Assume.assumeTrue(GraphicsEnvironment.isHeadless()); GuiSupport.setHeadless(); //should do nothing Assert.assertTrue(GraphicsEnvironment.isHeadless()); GuiSupport.restoreHeadlessMode(); //should do nothing Assert.assertTrue(GraphicsEnvironment.isHeadless()); }
@Test public void testWhenNotHeadless(){ Assume.assumeTrue(! GraphicsEnvironment.isHeadless()); GuiSupport.setHeadless(); Assert.assertTrue(GraphicsEnvironment.isHeadless()); GuiSupport.restoreHeadlessMode(); //should restore headless Assert.assertTrue(! GraphicsEnvironment.isHeadless()); } }
@Before public void initTestCase(){ threadStopper.storeCurrentThreads(); threadStopper.startRecordingTime(); org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); org.evosuite.runtime.GuiSupport.setHeadless(); org.evosuite.runtime.Runtime.getInstance().resetRuntime(); org.evosuite.runtime.agent.InstrumentingAgent.activate(); }