Mercurial > hg
diff tests/run-tests @ 362:410373162036
run-tests: run tests given on the command line
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
run-tests: run tests given on the command line
manifest hash: e0217e478de902d0de7b9a294509718365f1d837
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCsL7EywK+sNU5EO8RAiGJAJ92ZB/+N8+XnOt717cuADK9ajQ+lwCfW1LG
02mjQ04uoS0n+D8xi0KX9tM=
=d1lZ
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Wed, 15 Jun 2005 15:50:28 -0800 |
parents | b4e0e20646bb |
children | 37249c522770 |
line wrap: on
line diff
--- a/tests/run-tests Wed Jun 15 15:49:20 2005 -0800 +++ b/tests/run-tests Wed Jun 15 15:50:28 2005 -0800 @@ -6,8 +6,8 @@ failed=0 H=$PWD -for f in `ls test-* | grep -Ev "\.|~"` ; do - echo -n "." +function run_one +{ D=`mktemp -d` if [ "$D" == "" ] ; then echo mktemp failed! @@ -15,16 +15,18 @@ cd $D fail=0 + if ! $H/$f > .out 2>&1 ; then echo $f failed with error code $? fail=1 fi + if [ -s .out -a ! -r $H/$f.out ] ; then echo $f generated unexpected output: cat .out cp .out $H/$f.err fail=1 - elif ! diff -u $H/$f.out .out > /dev/null ; then + elif [ -r $H/$f.out ] && ! diff -u $H/$f.out .out > /dev/null ; then echo $f output changed: diff -u $H/$f.out .out && true cp .out $H/$f.err @@ -33,8 +35,19 @@ cd $H rm -r $D + return $fail +} - failed=$[$failed + $fail] +TESTS=$@ +if [ "$TESTS" == "" ] ; then + TESTS=`ls test-* | grep -Ev "\.|~"` +fi + +for f in $TESTS ; do + echo -n "." + if ! run_one $f ; then + failed=$[$failed + 1] + fi tests=$[$tests + 1] done