##// END OF EJS Templates
add HGRCPATH env var, list of places to look for hgrc files....
add HGRCPATH env var, list of places to look for hgrc files. if set, override default hgrc search path. if empty, only .hg/hgrc of current repo read. for each element, if directory, all entries in directory with end in ".rc" are added to path. else, element is added to path. big thing about this change is that user "~/.hgrc" and system hgrc not longer breaks tests. run-tests makes HGRCPATH empty now.

File last commit:

r1951:696230e5 default
r1951:696230e5 default
Show More
run-tests
153 lines | 3.1 KiB | text/plain | TextLexer
Thomas Arendsen Hein
Remove bashisms and use /bin/sh instead of /bin/bash....
r544 #!/bin/sh -e
mpm@selenic.com
Add a simple testing framework...
r331
Thomas Arendsen Hein
Make tests work on Solaris:...
r798 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
Vadim Gelfer
add HGRCPATH env var, list of places to look for hgrc files....
r1951 HGRCPATH=""; export HGRCPATH
mpm@selenic.com
[PATCH] Set locale before run-tests does anything...
r488
Peter van Dijk
small solaris portability fixes from John Levon <levon@movementarian.org>
r1925 ECHO_N="echo -n"
[ -x /usr/ucb/echo ] && ECHO_N="/usr/ucb/echo -n"
mpm@selenic.com
[PATCH] umask for run-tests...
r489 umask 022
mpm@selenic.com
Add a simple testing framework...
r331 tests=0
failed=0
Thomas Arendsen Hein
Make tests work on Solaris:...
r798
HGTMP=""
cleanup_exit() {
rm -rf "$HGTMP"
}
# Remove temporary files even if we get interrupted
Thomas Arendsen Hein
Cleaned up trap handling in run-tests, too.
r835 trap "cleanup_exit" 0 # normal exit
trap "exit 255" 1 2 3 6 15 # HUP INT QUIT ABRT TERM
Thomas Arendsen Hein
Make tests work on Solaris:...
r798
HGTMP="${TMPDIR-/tmp}/hgtests.$RANDOM.$RANDOM.$RANDOM.$$"
(umask 077 && mkdir "$HGTMP") || {
echo "Could not create temporary directory! Exiting." 1>&2
exit 1
}
TESTDIR="$PWD"
Peter van Dijk
fix testsuite for freebsd and one timingissue
r1923 export TESTDIR
Thomas Arendsen Hein
Make tests work on Solaris:...
r798 INST="$HGTMP/install"
Robin Farine
fix run-tests' PYTHONPATH...
r1558 PYTHONDIR="$INST/lib/python"
mpm@selenic.com
From: Andrew Thompson <andrewkt@aktzero.com>...
r397 cd ..
Robin Farine
fix run-tests' PYTHONPATH...
r1558 if ${PYTHON-python} setup.py install --home="$INST" \
--install-lib="$PYTHONDIR" > tests/install.err 2>&1
Thomas Arendsen Hein
Make tests work on Solaris:...
r798 then
rm tests/install.err
else
mpm@selenic.com
Quiet successful test install in run-tests...
r398 cat tests/install.err
Thomas Arendsen Hein
Cleaned up trap handling in run-tests, too.
r835 exit 1
mpm@selenic.com
Quiet successful test install in run-tests...
r398 fi
Thomas Arendsen Hein
Make tests work on Solaris:...
r798 cd "$TESTDIR"
mpm@selenic.com
From: Andrew Thompson <andrewkt@aktzero.com>...
r397
Thomas Arendsen Hein
Make #!/usr/bin/env python in test-bdiff run the specified python version.
r1878 BINDIR="$INST/bin"
PATH="$BINDIR:$PATH"; export PATH
if [ -n "$PYTHON" ]; then
{
echo "#!/bin/sh"
echo "exec \"$PYTHON"'" "$@"'
} > "$BINDIR/python"
chmod 755 "$BINDIR/python"
fi
Robin Farine
fix run-tests' PYTHONPATH...
r1558 PYTHONPATH="$PYTHONDIR"; export PYTHONPATH
Thomas Arendsen Hein
Make tests work on Solaris:...
r798
run_one() {
rm -f "$1.err"
mpm@selenic.com
Add a simple testing framework...
r331
Thomas Arendsen Hein
Make tests work on Solaris:...
r798 mkdir "$HGTMP/$1"
cd "$HGTMP/$1"
mpm@selenic.com
Add a simple testing framework...
r331 fail=0
Thomas Arendsen Hein
Make tests work on Solaris:...
r798 HOME="$HGTMP/$1"; export HOME
OUT="$HGTMP/$1.out"
OUTOK="$TESTDIR/$1.out"
ERR="$TESTDIR/$1.err"
mpm@selenic.com
run-tests: run tests given on the command line...
r362
Thomas Arendsen Hein
Make tests work on Solaris:...
r798 if "$TESTDIR/$1" > "$OUT" 2>&1; then
Thomas Arendsen Hein
Use tabs instead of spaces where apropriate.
r803 : no error
Thomas Arendsen Hein
Make tests work on Solaris:...
r798 else
echo "$1 failed with error code $?"
mpm@selenic.com
Add a simple testing framework...
r331 fail=1
fi
mpm@selenic.com
run-tests: run tests given on the command line...
r362
Thomas Arendsen Hein
Make tests work on Solaris:...
r798 if [ -s "$OUT" -a ! -s "$OUTOK" ] ; then
cp "$OUT" "$ERR"
echo
echo "$1 generated unexpected output:"
cat "$ERR"
mpm@selenic.com
Add a simple testing framework...
r331 fail=1
Thomas Arendsen Hein
Make tests work on Solaris:...
r798 elif [ -r "$OUTOK" ]; then
Thomas Arendsen Hein
Use tabs instead of spaces where apropriate.
r803 if diff -u "$OUTOK" "$OUT" > /dev/null; then
: no differences
else
Thomas Arendsen Hein
Removed special FIXME handling in run-tests, added bug info to .out files.
r833 cp "$OUT" "$ERR"
echo
echo "$1 output changed:"
diff -u "$OUTOK" "$ERR" || true
fail=1
Thomas Arendsen Hein
Use tabs instead of spaces where apropriate.
r803 fi
mpm@selenic.com
Add a simple testing framework...
r331 fi
Thomas Arendsen Hein
Make tests work on Solaris:...
r798 cd "$TESTDIR"
rm -f "$HGTMP/$1.out"
rm -rf "$HGTMP/$1"
mpm@selenic.com
run-tests: run tests given on the command line...
r362 return $fail
}
mpm@selenic.com
Add a simple testing framework...
r331
Thomas Arendsen Hein
Cleanup of tabs and trailing spaces.
r1308 # list of prerequisite programs
eric@localhost.localdomain
Add checks for programs which are required for the test suite to run....
r1279 # stuff from coreutils (cat, rm, etc) are not tested
Soh Tk-r28629
tests: add bunzip2 to prerequisite list
r1949 prereqs="python merge diff grep unzip gunzip bunzip2 sed"
eric@localhost.localdomain
Add checks for programs which are required for the test suite to run....
r1279 missing=''
for pre in $prereqs ; do
if type $pre > /dev/null 2>&1 ; then
: prereq exists
Thomas Arendsen Hein
Cleanup of tabs and trailing spaces.
r1308 else
eric@localhost.localdomain
Add checks for programs which are required for the test suite to run....
r1279 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
Thomas Arendsen Hein
Incorporated most of Aron Griffis suggestions for sh compatibility.
r804 TESTS="$*"
Thomas Arendsen Hein
Make tests work on Solaris:...
r798 if [ -z "$TESTS" ] ; then
Thomas Arendsen Hein
Incorporated most of Aron Griffis suggestions for sh compatibility.
r804 TESTS=`ls test-* | grep -v "[.~]"`
mpm@selenic.com
run-tests: run tests given on the command line...
r362 fi
for f in $TESTS ; do
Peter van Dijk
small solaris portability fixes from John Levon <levon@movementarian.org>
r1925 $ECHO_N "."
Thomas Arendsen Hein
Incorporated most of Aron Griffis suggestions for sh compatibility.
r804 run_one $f || failed=`expr $failed + 1`
tests=`expr $tests + 1`
mpm@selenic.com
Add a simple testing framework...
r331 done
echo
Thomas Arendsen Hein
Incorporated most of Aron Griffis suggestions for sh compatibility.
r804 echo "Ran $tests tests, $failed failed."
mpm@selenic.com
Add a simple testing framework...
r331
if [ $failed -gt 0 ] ; then
Thomas Arendsen Hein
Cleaned up trap handling in run-tests, too.
r835 exit 1
mpm@selenic.com
Add a simple testing framework...
r331 fi
Thomas Arendsen Hein
Cleaned up trap handling in run-tests, too.
r835 exit 0