This is the mail archive of the mauve-patches@sources.redhat.com mailing list for the Mauve project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch: batch_run, runner and GUI improvements


Hi,

I'm committing this patch.  It makes some improvements in batch_run and
runner for the natively-compiled case, adds the createRobot convenience
method to TestHarness and changes some GUI tests to use
Robot.waitForIdle.

Tom

2005-02-21  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* .cvsignore: Add testfilename.txt.
	* batch_run (COMPILER_FLAGS): Set to -g -O0 if COMPILER is gcj.
	(NATIVE): Set to true if COMPILER is gcj.
	Try to use metacity as window manager.  Default to /bin/true if
	metacity is not found.
	Add COMPILER_FLAGS to native compilation.
	* runner: Run with -file option in native case.  Elide
	kill-on-timeout code.
	* gnu/testlet/TestHarness.java (createRobot): New method.
	* gnu/testlet/java/awt/Robot/createScreenCapture.java: Use
	waitForIdle instead of arbitrary delay.
	* gnu/testlet/java/awt/Robot/getPixelColor.java: Likewise.
	* gnu/testlet/java/awt/Robot/keyPress.java: Likewise.
	* gnu/testlet/java/awt/Robot/keyRelease.java: Likewise.
	* gnu/testlet/java/awt/Robot/mouseMove.java: Likewise.
	* gnu/testlet/java/awt/Robot/mousePress.java: Likewise.
	* gnu/testlet/java/awt/Robot/mouseRelease.java: Likewise.
	* gnu/testlet/java/awt/Robot/mouseWheel.java: Likewise.

Index: .cvsignore
===================================================================
RCS file: /cvs/mauve/mauve/.cvsignore,v
retrieving revision 1.5
diff -u -r1.5 .cvsignore
--- .cvsignore	14 Oct 2004 06:49:53 -0000	1.5
+++ .cvsignore	21 Feb 2005 06:46:13 -0000
@@ -15,6 +15,7 @@
 dataoutput2.out
 utf8test.out
 todos.txt
+testfilename.txt
 build
 doc
 SimpleTestHarness
Index: ChangeLog
===================================================================
RCS file: /cvs/mauve/mauve/ChangeLog,v
retrieving revision 1.884
diff -u -r1.884 ChangeLog
--- ChangeLog	21 Feb 2005 00:38:59 -0000	1.884
+++ ChangeLog	21 Feb 2005 06:46:18 -0000
@@ -1,3 +1,24 @@
+2005-02-21  Thomas Fitzsimmons  <fitzsim@redhat.com>
+
+	* .cvsignore: Add testfilename.txt.
+	* batch_run (COMPILER_FLAGS): Set to -g -O0 if COMPILER is gcj.
+	(NATIVE): Set to true if COMPILER is gcj.
+	Try to use metacity as window manager.  Default to /bin/true if
+	metacity is not found.
+	Add COMPILER_FLAGS to native compilation.
+	* runner: Run with -file option in native case.  Elide
+	kill-on-timeout code.
+	* gnu/testlet/TestHarness.java (createRobot): New method.
+	* gnu/testlet/java/awt/Robot/createScreenCapture.java: Use
+	waitForIdle instead of arbitrary delay.
+	* gnu/testlet/java/awt/Robot/getPixelColor.java: Likewise.
+	* gnu/testlet/java/awt/Robot/keyPress.java: Likewise.
+	* gnu/testlet/java/awt/Robot/keyRelease.java: Likewise.
+	* gnu/testlet/java/awt/Robot/mouseMove.java: Likewise.
+	* gnu/testlet/java/awt/Robot/mousePress.java: Likewise.
+	* gnu/testlet/java/awt/Robot/mouseRelease.java: Likewise.
+	* gnu/testlet/java/awt/Robot/mouseWheel.java: Likewise.
+
 2005-02-20  Mark Wielaard  <mark@klomp.org>
 
 	* gnu/testlet/java/awt/font/TextAttribute/constants.java:
Index: batch_run
===================================================================
RCS file: /cvs/mauve/mauve/batch_run,v
retrieving revision 1.7
diff -u -r1.7 batch_run
--- batch_run	5 Jan 2005 00:15:11 -0000	1.7
+++ batch_run	21 Feb 2005 06:46:18 -0000
@@ -42,11 +42,16 @@
 COMPILER="jikes -bootclasspath /usr/local/classpath/share/classpath/glibj.zip"
 fi
 
+if test "x$COMPILER" = "xgcj"; then
+COMPILER_FLAGS="-g -O0"
+else
 COMPILER_FLAGS="-g"
+fi
 
-if test "x$NATIVE" = "x"; then
+if test "x$COMPILER" = "xgcj"; then
+NATIVE="true"
+else
 NATIVE=
-#NATIVE="true"
 fi
 
 # Cleanup
@@ -68,16 +73,16 @@
 case $KEYS in
     *GUI*)
 
-        XVFB=`which Xvfb`
-        if test "x$WM" = "x"; then
-            WM=`which metacity`
-	    # check if we found metacity
+        if test -z "$SHOW_GUI_TESTS"; then
+            XVFB=`which Xvfb`
             if test "x$WM" = "x"; then
-                WM=`which true`
+                WM=`which metacity`
+	        # check if we found metacity
+                if test "x$WM" = "x"; then
+                    WM=`which true`
+                fi
             fi
-        fi
 
-        if test -z "$SHOW_GUI_TESTS"; then
             if test -z $XVFB; then
 		echo "warning: Xvfb not found on PATH.  Showing GUI tests on main desktop..."
 	    elif test -z $WM; then
@@ -104,7 +109,7 @@
     if test -z "$NATIVE"; then
         $COMPILER $COMPILER_FLAGS @uses_files
     else
-        $COMPILER -o SimpleTestHarness --main=gnu.testlet.SimpleTestHarness \
+        $COMPILER $COMPILER_FLAGS -o SimpleTestHarness --main=gnu.testlet.SimpleTestHarness \
 	          $framework_sources `cat uses_files`
     fi
     if test $?  == 0; then
Index: runner
===================================================================
RCS file: /cvs/mauve/mauve/runner,v
retrieving revision 1.5
diff -u -r1.5 runner
--- runner	19 Dec 2004 20:36:41 -0000	1.5
+++ runner	21 Feb 2005 06:46:18 -0000
@@ -58,8 +58,9 @@
 
 testclass=$1
 # Run process
-if test "$RUNTIME" = "native"; then
-    echo $testclass | ./SimpleTestHarness -resultsonly &
+if test "x$RUNTIME" = "xnative"; then
+    echo $testclass > testfilename.txt
+    ./SimpleTestHarness -debug -verbose -file testfilename.txt &
 else
     echo $testclass | $RUNTIME gnu.testlet.SimpleTestHarness -debug -verbose &
 fi
@@ -68,10 +69,11 @@
 result=$?
 
 # cleanup timeout
-trap '' SIGALRM
-if test $KILLED != 1; then
-    kill -9 $TIMEOUT > /dev/null 2>&1
-fi
+# FIXME: this kills tests too early:
+# trap '' SIGALRM
+# if test $KILLED != 1; then
+#     kill -9 $TIMEOUT > /dev/null 2>&1
+# fi
 
 # Test terminated unexpectedly?
 if test $result != 0 -a $result != 1; then
Index: gnu/testlet/TestHarness.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/TestHarness.java,v
retrieving revision 1.18
diff -u -r1.18 TestHarness.java
--- gnu/testlet/TestHarness.java	30 Dec 2004 10:18:28 -0000	1.18
+++ gnu/testlet/TestHarness.java	21 Feb 2005 06:46:18 -0000
@@ -23,6 +23,8 @@
 import java.io.File;
 import java.io.Reader;
 import java.io.InputStream;
+import java.awt.AWTException;
+import java.awt.Robot;
 
 /**
  * This base class defines the API that test cases can report against.  This
@@ -155,6 +157,22 @@
       check (result, expected);
     }
 
+  public Robot createRobot ()
+  {
+    Robot r = null;
+
+    try
+      {
+	r = new Robot ();
+      }
+    catch (AWTException e)
+      {
+	fail ("TestHarness: couldn't create Robot: " + e.getMessage ());
+      }
+
+    return r;
+  }
+
   /**
    * A convenience method that sets a checkpoint with the specified name
    * then records a failed check.
Index: gnu/testlet/java/awt/Robot/createScreenCapture.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/Robot/createScreenCapture.java,v
retrieving revision 1.1
diff -u -r1.1 createScreenCapture.java
--- gnu/testlet/java/awt/Robot/createScreenCapture.java	5 Jan 2005 00:15:12 -0000	1.1
+++ gnu/testlet/java/awt/Robot/createScreenCapture.java	21 Feb 2005 06:46:19 -0000
@@ -65,7 +65,7 @@
     f.setLocation (0, 0);
     f.show ();
 
-    r.delay (1000);
+    r.waitForIdle ();
 
     BufferedImage screenshot = r.createScreenCapture (new Rectangle (50, 50, 100, 100));
 
Index: gnu/testlet/java/awt/Robot/getPixelColor.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/Robot/getPixelColor.java,v
retrieving revision 1.1
diff -u -r1.1 getPixelColor.java
--- gnu/testlet/java/awt/Robot/getPixelColor.java	5 Jan 2005 00:15:12 -0000	1.1
+++ gnu/testlet/java/awt/Robot/getPixelColor.java	21 Feb 2005 06:46:19 -0000
@@ -64,11 +64,11 @@
     f.setLocation (250, 250);
     f.show ();
 
-    r.delay (100);
+    r.waitForIdle ();
 
     Color c = r.getPixelColor (300, 300);
 
-    r.delay (100);
+    r.waitForIdle ();
 
     // check that pixel is red
     harness.check (c.getRed () == 255
Index: gnu/testlet/java/awt/Robot/keyPress.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/Robot/keyPress.java,v
retrieving revision 1.1
diff -u -r1.1 keyPress.java
--- gnu/testlet/java/awt/Robot/keyPress.java	5 Jan 2005 00:15:12 -0000	1.1
+++ gnu/testlet/java/awt/Robot/keyPress.java	21 Feb 2005 06:46:19 -0000
@@ -93,7 +93,7 @@
     r.keyPress (KeyEvent.VK_A);
     r.keyRelease (KeyEvent.VK_A);
 
-    r.delay (100);
+    r.waitForIdle ();
 
     harness.check (pressChar == 'a');
     harness.check (pressCount == 1);
Index: gnu/testlet/java/awt/Robot/keyRelease.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/Robot/keyRelease.java,v
retrieving revision 1.1
diff -u -r1.1 keyRelease.java
--- gnu/testlet/java/awt/Robot/keyRelease.java	5 Jan 2005 00:15:12 -0000	1.1
+++ gnu/testlet/java/awt/Robot/keyRelease.java	21 Feb 2005 06:46:19 -0000
@@ -85,7 +85,7 @@
     r.keyPress (KeyEvent.VK_A);
     r.keyRelease (KeyEvent.VK_A);
 
-    r.delay (100);
+    r.waitForIdle ();
 
     harness.check (releaseChar == 'a');
     harness.check (releaseCount == 1);
Index: gnu/testlet/java/awt/Robot/mouseMove.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/Robot/mouseMove.java,v
retrieving revision 1.1
diff -u -r1.1 mouseMove.java
--- gnu/testlet/java/awt/Robot/mouseMove.java	5 Jan 2005 00:15:12 -0000	1.1
+++ gnu/testlet/java/awt/Robot/mouseMove.java	21 Feb 2005 06:46:19 -0000
@@ -81,7 +81,7 @@
     r.mousePress (InputEvent.BUTTON1_MASK);
     r.mouseRelease (InputEvent.BUTTON1_MASK);
 
-    r.delay (100);
+    r.waitForIdle ();
 
     Insets i = f.getInsets ();
 
Index: gnu/testlet/java/awt/Robot/mousePress.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/Robot/mousePress.java,v
retrieving revision 1.1
diff -u -r1.1 mousePress.java
--- gnu/testlet/java/awt/Robot/mousePress.java	5 Jan 2005 00:15:12 -0000	1.1
+++ gnu/testlet/java/awt/Robot/mousePress.java	21 Feb 2005 06:46:19 -0000
@@ -79,7 +79,7 @@
     r.mousePress (InputEvent.BUTTON1_MASK);
     r.mouseRelease (InputEvent.BUTTON1_MASK);
 
-    r.delay (100);
+    r.waitForIdle ();
 
     harness.check (mousePressCount == 1);
   }
Index: gnu/testlet/java/awt/Robot/mouseRelease.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/Robot/mouseRelease.java,v
retrieving revision 1.1
diff -u -r1.1 mouseRelease.java
--- gnu/testlet/java/awt/Robot/mouseRelease.java	5 Jan 2005 00:15:12 -0000	1.1
+++ gnu/testlet/java/awt/Robot/mouseRelease.java	21 Feb 2005 06:46:19 -0000
@@ -79,7 +79,7 @@
     r.mousePress (InputEvent.BUTTON1_MASK);
     r.mouseRelease (InputEvent.BUTTON1_MASK);
 
-    r.delay (100);
+    r.waitForIdle ();
 
     harness.check (mouseReleaseCount == 1);
   }
Index: gnu/testlet/java/awt/Robot/mouseWheel.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/Robot/mouseWheel.java,v
retrieving revision 1.1
diff -u -r1.1 mouseWheel.java
--- gnu/testlet/java/awt/Robot/mouseWheel.java	5 Jan 2005 00:15:12 -0000	1.1
+++ gnu/testlet/java/awt/Robot/mouseWheel.java	21 Feb 2005 06:46:19 -0000
@@ -88,7 +88,7 @@
     r.mouseWheel (2);
     r.mouseWheel (-3);
 
-    r.delay (100);
+    r.waitForIdle ();
 
     harness.check (mouseWheelUpCount == -8);
     harness.check (mouseWheelDownCount == 10);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]