summaryrefslogtreecommitdiffstats
path: root/Misc
diff options
context:
space:
mode:
authorNeal Norwitz <nnorwitz@gmail.com>2006-06-27 04:09:13 (GMT)
committerNeal Norwitz <nnorwitz@gmail.com>2006-06-27 04:09:13 (GMT)
commit524b59bf7c8284a717db3573c23fda66fd6eccba (patch)
tree867b72bc77fa084aa3d3f879d5145ed625a925ec /Misc
parent25d4ca3f7892f5efa3960054d47717126e94415b (diff)
downloadcpython-524b59bf7c8284a717db3573c23fda66fd6eccba.zip
cpython-524b59bf7c8284a717db3573c23fda66fd6eccba.tar.gz
cpython-524b59bf7c8284a717db3573c23fda66fd6eccba.tar.bz2
Instead of doing a make test, run the regression tests out of the installed
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.
Diffstat (limited to 'Misc')
-rwxr-xr-xMisc/build.sh22
1 files changed, 17 insertions, 5 deletions
diff --git a/Misc/build.sh b/Misc/build.sh
index c3c2e38..938ba94 100755
--- a/Misc/build.sh
+++ b/Misc/build.sh
@@ -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