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 3 Jan 2005 23:23:53 -0000 @@ -172,6 +172,15 @@ ================================================================ +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. 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 3 Jan 2005 23:23:53 -0000 @@ -63,6 +63,30 @@ # Generate test classes list ./choose-classes . "$KEYS" +case $KEYS in + *GUI*) + + XVFB=`which Xvfb` + METACITY=`which metacity` + + 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 $METACITY; 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=$! + $METACITY > /dev/null 2>&1 & + METACITY_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 +105,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 3 Jan 2005 23:23:53 -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"