##// END OF EJS Templates
Fix up copy command to behave more like regular "cp"....
Fix up copy command to behave more like regular "cp". In addition to recording changes, copy now updates the working directory.

File last commit:

r925:5a034646 default
r1249:a5355fa5 default
Show More
run-tests
124 lines | 2.3 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
mpm@selenic.com
[PATCH] Set locale before run-tests does anything...
r488
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"
mpm@selenic.com
Add a simple testing framework...
r331
mpm@selenic.com
[PATCH] Get run-tests working on 64-bit machines....
r473 if [ -d /usr/lib64 ]; then
lib=lib64
else
lib=lib
fi
Thomas Arendsen Hein
Make tests work on Solaris:...
r798 INST="$HGTMP/install"
mpm@selenic.com
From: Andrew Thompson <andrewkt@aktzero.com>...
r397 cd ..
Thomas Arendsen Hein
Incorporated most of Aron Griffis suggestions for sh compatibility.
r804 if ${PYTHON-python} setup.py install --home="$INST" > 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 tests work on Solaris:...
r798 PATH="$INST/bin:$PATH"; export PATH
PYTHONPATH="$INST/$lib/python"; export PYTHONPATH
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
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
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