Index: README =================================================================== RCS file: /cvs/mauve/mauve/README,v retrieving revision 1.18 diff -u -r1.18 README --- README 12 Aug 2004 15:11:12 -0000 1.18 +++ README 4 Jan 2005 18:05:58 -0000 @@ -172,6 +172,17 @@ ================================================================ +Graphical tests that display windows and accept input are marked with +the GUI tag. GUI tests are not included in the default list of tags. +If the GUI tag does appear in KEYS, batch_run will spawn an Xvfb +process, set DISPLAY to that X server and run the +graphical/interactive tests there. By default, metacity is run in +Xvfb; use the WM environment variable to run a different window +manager. If you'd rather run the tests directly on your desktop, set +SHOW_GUI_TESTS=1. + +================================================================ + The test harness can also ignore known failures. Simply create a file 'xfails' in the directory where the tests are being run which contains 'FAIL:' entries from previous test runs. The order of the Index: batch_run =================================================================== RCS file: /cvs/mauve/mauve/batch_run,v retrieving revision 1.5 diff -u -r1.5 batch_run --- batch_run 19 Nov 2004 10:09:28 -0000 1.5 +++ batch_run 4 Jan 2005 18:05:58 -0000 @@ -63,6 +63,32 @@ # Generate test classes list ./choose-classes . "$KEYS" +case $KEYS in + *GUI*) + + XVFB=`which Xvfb` + if test "x$WM" = "x"; then + WM=`which metacity` + 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 + echo "warning: metacity not found on PATH. Showing GUI tests on main desktop..." + else + export DISPLAY=:57 + echo localhost > Xvfb.cfg + $XVFB :57 -auth Xvfb.cfg > /dev/null 2>&1 & + XVFB_PID=$! + $WM > /dev/null 2>&1 & + WM_PID=$! + rm -f Xvfb.cfg + fi + fi + ;; +esac + # Compile and run all the tests for testclass in `cat test_classes`; do # Get all needed java sources @@ -81,3 +107,13 @@ echo "FAIL: $testclass COMPILE FAILED" fi done + +case $KEYS in + *GUI*) + + # killing Xvfb also kills the window manager process + if test ! -z "$XVFB_PID"; then + kill $XVFB_PID > /dev/null 2>&1 + fi + ;; +esac Index: choose =================================================================== RCS file: /cvs/mauve/mauve/choose,v retrieving revision 1.25 diff -u -r1.25 choose --- choose 14 Oct 2004 06:53:07 -0000 1.25 +++ choose 4 Jan 2005 18:05:58 -0000 @@ -69,6 +69,10 @@ # You can't specify this. : ;; + GUI) + tags="$tags GUI $i" + test -z "$seen_dashdash" && spectags="$spectags $i" + ;; JAVA2) tags="$tags JDK1.0 JDK1.1 JDK1.2 $i" test -z "$seen_dashdash" && spectags="$spectags $i"