changeset 2207:8a2a7f7d9df6

Delete the shell version of run-tests Use the python version instead
author Stephen Darnell <stephen@darnell.plus.com>
date Thu, 04 May 2006 15:47:18 -0700
parents c74e91e81f70
children 12e36dedf668
files MANIFEST.in Makefile tests/README tests/run-tests
diffstat 4 files changed, 4 insertions(+), 201 deletions(-) [+]
line wrap: on
line diff
--- a/MANIFEST.in	Thu May 04 15:42:14 2006 -0700
+++ b/MANIFEST.in	Thu May 04 15:47:18 2006 -0700
@@ -2,7 +2,7 @@
 recursive-include mercurial *.py
 include hgweb.cgi hgwebdir.cgi
 include hgeditor rewrite-log
-include tests/README tests/run-tests tests/md5sum.py tests/test-*[a-z0-9] tests/*.out
+include tests/README tests/run-tests.py tests/md5sum.py tests/test-*[a-z0-9] tests/*.out
 prune tests/*.err
 include *.txt
 include templates/map templates/map-*[a-z0-9]
--- a/Makefile	Thu May 04 15:42:14 2006 -0700
+++ b/Makefile	Thu May 04 15:47:18 2006 -0700
@@ -16,10 +16,10 @@
 	TAR_OPTIONS="--owner=root --group=root --mode=u+w,go-w,a+rX-s" $(PYTHON) setup.py sdist --force-manifest
 
 tests:
-	cd tests && ./run-tests
+	cd tests && $(PYTHON) run-tests.py
 
 test-%:
-	cd tests && ./run-tests $@
+	cd tests && $(PYTHON) run-tests.py $@
 
 doc:
 	$(MAKE) -C doc
--- a/tests/README	Thu May 04 15:42:14 2006 -0700
+++ b/tests/README	Thu May 04 15:47:18 2006 -0700
@@ -3,7 +3,7 @@
 To run the tests, do:
 
 cd tests/
-./run-tests
+python run-tests.py
 
 This finds all scripts in the test directory named test-* and executes
 them. The scripts can be either shell scripts or Python. Each test is
--- a/tests/run-tests	Thu May 04 15:42:14 2006 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +0,0 @@
-#!/bin/sh -e
-#
-# environment variables:
-#
-# TEST_COVERAGE - set non-empty if you want to print test coverage report
-# COVERAGE_STDLIB - set non-empty to report coverage of standard library
-
-LANG="C"; export LANG
-LC_CTYPE="C"; export LC_CTYPE
-LC_NUMERIC="C"; export LC_NUMERIC
-LC_TIME="C"; export LC_TIME
-LC_COLLATE="C"; export LC_COLLATE
-LC_MONETARY="C"; export LC_MONETARY
-LC_MESSAGES="C"; export LC_MESSAGES
-LC_PAPER="C"; export LC_PAPER
-LC_NAME="C"; export LC_NAME
-LC_ADDRESS="C"; export LC_ADDRESS
-LC_TELEPHONE="C"; export LC_TELEPHONE
-LC_MEASUREMENT="C"; export LC_MEASUREMENT
-LC_IDENTIFICATION="C"; export LC_IDENTIFICATION
-LC_ALL=""; export LC_ALL
-TZ=GMT; export TZ
-HGEDITOR=true; export HGEDITOR
-HGMERGE=true; export HGMERGE
-HGUSER="test"; export HGUSER
-HGRCPATH=""; export HGRCPATH
-OS=`uname`
-
-case "$OS" in
-  HP-UX|SunOS)
-    DIFFOPTS=
-    ;;
-  *)
-    DIFFOPTS=-u
-    ;;
-esac
-
-if [ `echo -n HG` = "-n HG" ]
-then
-    ECHO_N=echo
-    NNL="\c"
-else
-    ECHO_N="echo -n"
-    NNL=
-fi
-
-umask 022
-
-tests=0
-failed=0
-
-HGTMP=""
-cleanup_exit() {
-    rm -rf "$HGTMP"
-}
-
-# Remove temporary files even if we get interrupted
-trap "cleanup_exit" 0 # normal exit
-trap "exit 255" 1 2 3 6 15 # HUP INT QUIT ABRT TERM
-
-HGTMP="${TMPDIR-/tmp}/hgtests.$RANDOM.$RANDOM.$RANDOM.$$"
-(umask 077 && mkdir "$HGTMP") || {
-    echo "Could not create temporary directory! Exiting." 1>&2
-    exit 1
-}
-
-TESTDIR="`pwd`"
-export TESTDIR
-INST="$HGTMP/install"
-PYTHONDIR="$INST/lib/python"
-cd ..
-if ${PYTHON-python} setup.py clean --all install --force --home="$INST" \
-  --install-lib="$PYTHONDIR" > tests/install.err 2>&1
-then
-    rm tests/install.err
-else
-    cat tests/install.err
-    exit 1
-fi
-cd "$TESTDIR"
-
-BINDIR="$INST/bin"; export BINDIR
-if [ -n "$TEST_COVERAGE" ]; then
-    COVERAGE_FILE="$TESTDIR/.coverage"; export COVERAGE_FILE
-    rm -f "$COVERAGE_FILE"
-    mv "$BINDIR/hg" "$BINDIR/hg.py"
-    {
-        echo '#!/bin/sh'
-        echo "exec \"${PYTHON-python}\" \"$TESTDIR/coverage.py\"" \
-            "-x \"$BINDIR/hg.py\" \"\$@\""
-    } > "$BINDIR/hg"
-    chmod 700 "$BINDIR/hg"
-fi
-    
-PATH="$BINDIR:$PATH"; export PATH
-if [ -n "$PYTHON" ]; then
-    {
-        echo "#!/bin/sh"
-        echo "exec \"$PYTHON"'" "$@"'
-    } > "$BINDIR/python"
-    chmod 755 "$BINDIR/python"
-fi
-
-PYTHONPATH="$PYTHONDIR"; export PYTHONPATH
-
-run_one() {
-    rm -f "$1.err"
-
-    mkdir "$HGTMP/$1"
-    cd "$HGTMP/$1"
-    fail=0
-    HOME="$HGTMP/$1"; export HOME
-    OUT="$HGTMP/$1.out"
-    OUTOK="$TESTDIR/$1.out"
-    ERR="$TESTDIR/$1.err"
-
-    if "$TESTDIR/$1" > "$OUT" 2>&1; then
-	: no error
-    else
-	echo "$1 failed with error code $?"
-	fail=1
-    fi
-
-    if [ -s "$OUT" -a ! -s "$OUTOK" ] ; then
-	cp "$OUT" "$ERR"
-	echo
-	echo "$1 generated unexpected output:"
-	cat "$ERR"
-	fail=1
-    elif [ -r "$OUTOK" ]; then
-	if diff $DIFFOPTS "$OUTOK" "$OUT" > /dev/null; then
-	    : no differences
-	else
-	    cp "$OUT" "$ERR"
-	    echo
-	    echo "$1 output changed:"
-	    diff $DIFFOPTS "$OUTOK" "$ERR" || true
-	    fail=1
-	fi
-    fi
-
-    cd "$TESTDIR"
-    rm -f "$HGTMP/$1.out"
-    rm -rf "$HGTMP/$1"
-    return $fail
-}
-
-# list of prerequisite programs
-# stuff from coreutils (cat, rm, etc) are not tested
-prereqs="python merge diff grep unzip gunzip bunzip2 sed"
-missing=''
-for pre in $prereqs ; do
-    if type $pre > /dev/null 2>&1 ; then
-        : prereq exists
-    else
-        missing="$pre $missing"
-    fi
-done
-
-if [ "$missing" != ''  ] ; then
-    echo "ERROR: the test suite needs some programs to execute correctly."
-    echo "The following programs are missing: "
-    for pre in $missing; do
-        echo "   $pre"
-    done
-    exit 1
-fi
-
-TESTS="$*"
-if [ -z "$TESTS" ] ; then
-    TESTS=`ls test-* | grep -v "[.~]"`
-fi
-
-for f in $TESTS ; do
-    $ECHO_N ".${NNL}"
-    run_one $f || failed=`expr $failed + 1`
-    tests=`expr $tests + 1`
-done
-
-echo
-echo "Ran $tests tests, $failed failed."
-
-if [ -n "$TEST_COVERAGE" ]; then
-    unset PYTHONPATH
-    $ECHO_N "$BINDIR,$TESTDIR,$HGTMP/test-," > "$HGTMP/omit"
-    if [ -z "$COVERAGE_STDLIB" ]; then
-        "${PYTHON-python}" -c 'import sys; print ",".join(sys.path)' \
-            >> "$HGTMP/omit"
-    fi
-    cd "$PYTHONDIR"
-    "${PYTHON-python}" "$TESTDIR/coverage.py" -r --omit="`cat \"$HGTMP/omit\"`"
-fi
-
-if [ $failed -gt 0 ] ; then
-    exit 1
-fi
-exit 0