aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/com/jogamp/opengl
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2013-12-10 22:53:11 +0100
committerSven Gothel <[email protected]>2013-12-10 22:53:11 +0100
commit4fa4a60a8e536ab7270df1d74503dba9a945bb20 (patch)
treed205ba05497f945f005c87504dec37410ba258c4 /src/test/com/jogamp/opengl
parent085d7bf429f5640eb540dff4e66f25b69e2c7671 (diff)
TestShutdownCompleteNEWT/AWT: Align both tests and account for GLInfo.
Diffstat (limited to 'src/test/com/jogamp/opengl')
-rw-r--r--src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteAWT.java92
-rw-r--r--src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteNEWT.java24
2 files changed, 79 insertions, 37 deletions
diff --git a/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteAWT.java b/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteAWT.java
index 4e2e91320..9f367ef0b 100644
--- a/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteAWT.java
+++ b/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteAWT.java
@@ -3,14 +3,14 @@
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
- *
+ *
* 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
- *
+ *
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
- *
+ *
* THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
@@ -20,12 +20,12 @@
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
+ *
* The views and conclusions contained in the software and documentation are those of the
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of JogAmp Community.
*/
-
+
package com.jogamp.opengl.test.junit.jogl.acore;
import java.awt.Frame;
@@ -36,11 +36,14 @@ import javax.media.opengl.GLCapabilities;
import javax.media.opengl.GLProfile;
import javax.media.opengl.awt.GLCanvas;
+import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Test;
import org.junit.FixMethodOrder;
import org.junit.runners.MethodSorters;
+import com.jogamp.common.os.Platform;
+import com.jogamp.opengl.JoglVersion;
import com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2;
import com.jogamp.opengl.test.junit.util.UITestCase;
import com.jogamp.opengl.util.Animator;
@@ -49,7 +52,7 @@ import com.jogamp.opengl.util.Animator;
public class TestShutdownCompleteAWT extends UITestCase {
static long duration = 300; // ms
-
+
protected void runTestGL() throws InterruptedException, InvocationTargetException {
final Frame frame = new Frame("Gears AWT Test");
Assert.assertNotNull(frame);
@@ -67,8 +70,8 @@ public class TestShutdownCompleteAWT extends UITestCase {
frame.setSize(256, 256);
frame.setVisible(true);
}});
-
- animator.setUpdateFPSFrames(60, System.err);
+
+ animator.setUpdateFPSFrames(60, System.err);
animator.start();
Assert.assertEquals(true, animator.isAnimating());
Assert.assertEquals(true, glCanvas.isVisible());
@@ -93,37 +96,70 @@ public class TestShutdownCompleteAWT extends UITestCase {
}});
}
- protected void oneLife() throws InterruptedException, InvocationTargetException {
- long t0 = System.nanoTime();
+ @AfterClass
+ public static void afterAll() {
+ if(waitForKey) {
+ UITestCase.waitForKey("Exit");
+ }
+ }
+
+ protected void oneLife(boolean glInfo) throws InterruptedException, InvocationTargetException {
+ final long t0 = Platform.currentTimeMicros();
GLProfile.initSingleton();
- long t1 = System.nanoTime();
- runTestGL();
- long t2 = System.nanoTime();
- GLProfile.shutdown();
- long t3 = System.nanoTime();
- System.err.println("Total: "+ (t3-t0)/1e6 +"ms");
- System.err.println(" GLProfile.initSingleton(): "+ (t1-t0)/1e6 +"ms");
- System.err.println(" Demo Code: "+ (t2-t1)/1e6 +"ms");
- System.err.println(" GLProfile.shutdown(): "+ (t3-t2)/1e6 +"ms");
+ final long t1 = Platform.currentTimeMicros();
+ if(!initOnly) {
+ runTestGL();
+ }
+ final long t2 = Platform.currentTimeMicros();
+ if(glInfo) {
+ System.err.println(JoglVersion.getDefaultOpenGLInfo(null, null, false).toString());
+ }
+ final long t3 = Platform.currentTimeMicros();
+ GLProfile.shutdown();
+ final long t4 = Platform.currentTimeMicros();
+ System.err.println("Total: "+ (t4-t0)/1e3 +"ms");
+ System.err.println(" GLProfile.initSingleton(): "+ (t1-t0)/1e3 +"ms");
+ System.err.println(" Demo Code: "+ (t2-t1)/1e3 +"ms");
+ System.err.println(" GLInfo: "+ (t3-t2)/1e3 +"ms");
+ System.err.println(" GLProfile.shutdown(): "+ (t4-t3)/1e3 +"ms");
}
-
+
@Test
public void test01OneLife() throws InterruptedException, InvocationTargetException {
- oneLife();
+ oneLife(false);
+ }
+
+ @Test
+ public void test02AnotherLifeWithGLInfo() throws InterruptedException, InvocationTargetException {
+ oneLife(true);
}
@Test
- public void test01AnotherLife() throws InterruptedException, InvocationTargetException {
- oneLife();
+ public void test03AnotherLife() throws InterruptedException, InvocationTargetException {
+ oneLife(true);
}
-
+
@Test
- public void test01TwoLifes() throws InterruptedException, InvocationTargetException {
- oneLife();
- oneLife();
+ public void test03TwoLifes() throws InterruptedException, InvocationTargetException {
+ oneLife(false);
+ oneLife(false);
}
-
+
+ static boolean initOnly = false;
+ static boolean waitForKey = false;
+
public static void main(String args[]) throws IOException {
+ for(int i=0; i<args.length; i++) {
+ if(args[i].equals("-wait")) {
+ waitForKey = true;
+ } else if(args[i].equals("-initOnly")) {
+ initOnly = true;
+ }
+ }
+
+ if(waitForKey) {
+ UITestCase.waitForKey("Start");
+ }
String tstname = TestShutdownCompleteAWT.class.getName();
org.junit.runner.JUnitCore.main(tstname);
}
diff --git a/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteNEWT.java b/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteNEWT.java
index a0e7f515c..e7d1cb8e9 100644
--- a/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteNEWT.java
+++ b/src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteNEWT.java
@@ -92,37 +92,43 @@ public class TestShutdownCompleteNEWT extends UITestCase {
if(waitForEach) {
UITestCase.waitForKey("Start One Life");
}
- long t0 = Platform.currentTimeMicros();
+ final long t0 = Platform.currentTimeMicros();
GLProfile.initSingleton();
- long t1 = Platform.currentTimeMicros();
+ final long t1 = Platform.currentTimeMicros();
if(!initOnly) {
runTestGL(true);
}
- long t2 = Platform.currentTimeMicros();
+ final long t2 = Platform.currentTimeMicros();
if(glInfo) {
System.err.println(JoglVersion.getDefaultOpenGLInfo(null, null, false).toString());
}
- long t3 = Platform.currentTimeMicros();
+ final long t3 = Platform.currentTimeMicros();
GLProfile.shutdown();
- long t4 = Platform.currentTimeMicros();
- System.err.println("Total: "+ (t3-t0)/1e3 +"ms");
+ final long t4 = Platform.currentTimeMicros();
+ System.err.println("Total: "+ (t4-t0)/1e3 +"ms");
System.err.println(" GLProfile.initSingleton(): "+ (t1-t0)/1e3 +"ms");
System.err.println(" Demo Code: "+ (t2-t1)/1e3 +"ms");
+ System.err.println(" GLInfo: "+ (t3-t2)/1e3 +"ms");
System.err.println(" GLProfile.shutdown(): "+ (t4-t3)/1e3 +"ms");
}
@Test
public void test01OneLife() throws InterruptedException {
+ oneLife(false);
+ }
+
+ @Test
+ public void test02AnotherLifeWithGLInfo() throws InterruptedException {
oneLife(true);
}
@Test
- public void test01AnotherLife() throws InterruptedException {
- oneLife(false);
+ public void test03AnotherLife() throws InterruptedException {
+ oneLife(true);
}
@Test
- public void test01TwoLifes() throws InterruptedException {
+ public void test03TwoLifes() throws InterruptedException {
oneLife(false);
oneLife(false);
}