]> granicus.if.org Git - python/commitdiff
Instead of doing a make test, run the regression tests out of the installed
authorNeal Norwitz <nnorwitz@gmail.com>
Tue, 27 Jun 2006 04:09:13 +0000 (04:09 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Tue, 27 Jun 2006 04:09:13 +0000 (04:09 +0000)
copy.  This will hopefully catch problems where directories are added
under Lib/ but not to Makefile.pre.in.  This breaks out the 2 runs
of the test suite with and without -O which is also nicer.

Misc/build.sh

index c3c2e38bda99539ebdb2d378bfbc1e0993d85011..938ba94fd42e2f5e1e29ff4cdb9a281b7f378e03 100755 (executable)
@@ -54,6 +54,12 @@ RESULT_FILE="$DIR/build/index.html"
 INSTALL_DIR="/tmp/python-test/local"
 RSYNC_OPTS="-aC -e ssh"
 
+# Always run the installed version of Python.
+PYTHON=$INSTALL_DIR/bin/python
+
+# Python options and regression test program that should always be run.
+REGRTEST_ARGS="-E -tt $INSTALL_DIR/lib/python2.5/test/regrtest.py"
+
 REFLOG="build/reflog.txt.out"
 # These tests are not stable and falsely report leaks sometimes.
 # The entire leak report will be mailed if any test not in this list leaks.
@@ -158,18 +164,24 @@ if [ $err = 0 -a "$BUILD_DISABLED" != "yes" ]; then
             ## make and run basic tests
             F=make-test.out
             start=`current_time`
-            make test >& build/$F
+            $PYTHON $REGRTEST_ARGS >& build/$F
             NUM_FAILURES=`grep -ic " failed:" build/$F`
             update_status "Testing basics ($NUM_FAILURES failures)" "$F" $start
-            ## FIXME: should mail since -uall below should find same problems
             mail_on_failure "basics" build/$F
 
+            F=make-test-opt.out
+            start=`current_time`
+            $PYTHON -O $REGRTEST_ARGS >& build/$F
+            NUM_FAILURES=`grep -ic " failed:" build/$F`
+            update_status "Testing opt ($NUM_FAILURES failures)" "$F" $start
+            mail_on_failure "opt" build/$F
+
             ## run the tests looking for leaks
             F=make-test-refleak.out
             start=`current_time`
             ## ensure that the reflog exists so the grep doesn't fail
             touch $REFLOG
-            ./python ./Lib/test/regrtest.py -R 4:3:$REFLOG -u network $LEAKY_SKIPS >& build/$F
+            $PYTHON $REGRTEST_ARGS -R 4:3:$REFLOG -u network $LEAKY_SKIPS >& build/$F
             NUM_FAILURES=`egrep -vc "$LEAKY_TESTS" $REFLOG`
             update_status "Testing refleaks ($NUM_FAILURES failures)" "$F" $start
             mail_on_failure "refleak" $REFLOG
@@ -179,7 +191,7 @@ if [ $err = 0 -a "$BUILD_DISABLED" != "yes" ]; then
             start=`current_time`
             ## skip curses when running from cron since there's no terminal
             ## skip sound since it's not setup on the PSF box (/dev/dsp)
-            ./python -E -tt ./Lib/test/regrtest.py -uall -x test_curses test_linuxaudiodev test_ossaudiodev >& build/$F
+            $PYTHON $REGRTEST_ARGS -uall -x test_curses test_linuxaudiodev test_ossaudiodev >& build/$F
             NUM_FAILURES=`grep -ic " failed:" build/$F`
             update_status "Testing all except curses and sound ($NUM_FAILURES failures)" "$F" $start
             mail_on_failure "all" build/$F
@@ -189,7 +201,7 @@ fi
 
 
 ## make doc
-cd Doc
+cd $DIR/Doc
 F="make-doc.out"
 start=`current_time`
 make >& ../build/$F