aboutsummaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/com/jogamp/opengl/test/junit/newt/TestFocus01SwingAWTRobot.java1
-rw-r--r--src/test/com/jogamp/opengl/test/junit/newt/TestFocus02SwingAWTRobot.java1
-rw-r--r--src/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java37
3 files changed, 26 insertions, 13 deletions
diff --git a/src/test/com/jogamp/opengl/test/junit/newt/TestFocus01SwingAWTRobot.java b/src/test/com/jogamp/opengl/test/junit/newt/TestFocus01SwingAWTRobot.java
index a87cbe0ac..672a44154 100644
--- a/src/test/com/jogamp/opengl/test/junit/newt/TestFocus01SwingAWTRobot.java
+++ b/src/test/com/jogamp/opengl/test/junit/newt/TestFocus01SwingAWTRobot.java
@@ -208,6 +208,7 @@ public class TestFocus01SwingAWTRobot extends UITestCase {
Assume.assumeNoException( throwable );
}
glWindow1.destroy();
+ Assert.assertEquals(true, AWTRobotUtil.waitForRealized(glWindow1, false));
}
static int atoi(String a) {
diff --git a/src/test/com/jogamp/opengl/test/junit/newt/TestFocus02SwingAWTRobot.java b/src/test/com/jogamp/opengl/test/junit/newt/TestFocus02SwingAWTRobot.java
index 978bc1c0a..5d0a0fbb5 100644
--- a/src/test/com/jogamp/opengl/test/junit/newt/TestFocus02SwingAWTRobot.java
+++ b/src/test/com/jogamp/opengl/test/junit/newt/TestFocus02SwingAWTRobot.java
@@ -262,6 +262,7 @@ public class TestFocus02SwingAWTRobot extends UITestCase {
} });
glWindow1.destroy();
+ Assert.assertEquals(true, AWTRobotUtil.waitForRealized(glWindow1, false));
}
@Test
diff --git a/src/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java b/src/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java
index 960145e78..4195711d6 100644
--- a/src/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java
+++ b/src/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java
@@ -393,6 +393,19 @@ public class AWTRobotUtil {
Assert.assertTrue("Did not gain focus", hasFocus);
}
+ private static void awtRobotKeyPress(final Robot robot, final int keyCode, final int msDelay) {
+ robot.waitForIdle();
+ robot.keyPress(keyCode);
+ robot.delay(msDelay);
+ robot.waitForIdle();
+ }
+ private static void awtRobotKeyRelease(final Robot robot, final int keyCode, final int msDelay) {
+ robot.waitForIdle();
+ robot.keyRelease(keyCode);
+ robot.delay(msDelay);
+ robot.waitForIdle();
+ }
+
public static int keyType(int i, Robot robot, int keyCode,
Object obj, KeyEventCountAdapter counter) throws InterruptedException, AWTException, InvocationTargetException
{
@@ -404,24 +417,23 @@ public class AWTRobotUtil {
for(j=0; 1 > tc && j<RETRY_NUMBER; j++) {
if(!hasFocus(obj)) {
// focus lost for some reason, regain it programmatic
- if(DEBUG) { System.err.println(i+":"+j+" KC1.0: "+counter+" - regain focus"); }
+ if(DEBUG) { System.err.println(i+":"+j+" KC1.0: "+counter+" - regain focus on thread "+Thread.currentThread().getName()); }
requestFocus(null, obj);
}
- if(DEBUG) { System.err.println(i+":"+j+" KC1.1: "+counter); }
- robot.waitForIdle();
- robot.keyPress(keyCode);
- robot.delay(10);
- robot.keyRelease(keyCode);
- robot.delay(100);
- if(DEBUG) { System.err.println(i+":"+j+" KC1.2: "+counter); }
+ if(DEBUG) { System.err.println(i+":"+j+" KC1.1: "+counter+" on thread "+Thread.currentThread().getName()); }
+ awtRobotKeyPress(robot, keyCode, 50);
+ if(DEBUG) { System.err.println(i+":"+j+" KC1.2: "+counter+" on thread "+Thread.currentThread().getName()); }
+ awtRobotKeyRelease(robot, keyCode, 100);
+ if(DEBUG) { System.err.println(i+":"+j+" KC1.3: "+counter); }
tc = ( null!=counter ? counter.getCount() : 1 ) - c0;
for (int wait=0; wait<POLL_DIVIDER && 1 > tc; wait++) {
+ if(DEBUG) { System.err.println(i+":"+j+" KC1.4."+wait+": "+counter+", sleep for "+TIME_OUT+"ms"); }
robot.delay(TIME_SLICE);
tc = counter.getCount() - c0;
}
- if(DEBUG) { System.err.println(i+":"+j+" KC1.X: tc "+tc+", "+counter); }
+ if(DEBUG) { System.err.println(i+":"+j+" KC1.X: tc "+tc+", "+counter+" on thread "+Thread.currentThread().getName()); }
}
- Assert.assertEquals("Key ("+i+":"+j+") not typed one time", 1, tc);
+ Assert.assertEquals("Key ("+i+":"+j+") not typed one time on thread "+Thread.currentThread().getName(), 1, tc);
return (int) ( System.currentTimeMillis() - t0 ) ;
}
@@ -429,11 +441,10 @@ public class AWTRobotUtil {
public static int keyPress(int i, Robot robot, boolean press, int keyCode, int msDelay) {
final long t0 = System.currentTimeMillis();
if(press) {
- robot.keyPress(keyCode);
+ awtRobotKeyPress(robot, keyCode, msDelay);
} else {
- robot.keyRelease(keyCode);
+ awtRobotKeyRelease(robot, keyCode, msDelay);
}
- robot.delay(msDelay);
return (int) ( System.currentTimeMillis() - t0 ) ;
}