Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/run-tests @ 2192:2be3ac7abc21
add bugzilla integration hook. example of writing hook in python.
hook updates bugzilla bugs when it sees commit comments that mention
bug id, such as "i fixed bug 77".
only bugzilla 2.16 supported yet, but easy to extend. bugzilla versions
have different schema, i have not used later than 2.16.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Wed, 03 May 2006 14:40:39 -0700 |
parents | a56fc34d6e23 |
children |
rev | line source |
---|---|
544
3d4d5f2aba9a
Remove bashisms and use /bin/sh instead of /bin/bash.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
495
diff
changeset
|
1 #!/bin/sh -e |
2068
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
2 # |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
3 # environment variables: |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
4 # |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
5 # TEST_COVERAGE - set non-empty if you want to print test coverage report |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
6 # COVERAGE_STDLIB - set non-empty to report coverage of standard library |
331 | 7 |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
8 LANG="C"; export LANG |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
9 LC_CTYPE="C"; export LC_CTYPE |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
10 LC_NUMERIC="C"; export LC_NUMERIC |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
11 LC_TIME="C"; export LC_TIME |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
12 LC_COLLATE="C"; export LC_COLLATE |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
13 LC_MONETARY="C"; export LC_MONETARY |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
14 LC_MESSAGES="C"; export LC_MESSAGES |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
15 LC_PAPER="C"; export LC_PAPER |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
16 LC_NAME="C"; export LC_NAME |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
17 LC_ADDRESS="C"; export LC_ADDRESS |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
18 LC_TELEPHONE="C"; export LC_TELEPHONE |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
19 LC_MEASUREMENT="C"; export LC_MEASUREMENT |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
20 LC_IDENTIFICATION="C"; export LC_IDENTIFICATION |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
21 LC_ALL=""; export LC_ALL |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
22 TZ=GMT; export TZ |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
23 HGEDITOR=true; export HGEDITOR |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
24 HGMERGE=true; export HGMERGE |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
25 HGUSER="test"; export HGUSER |
1951
696230e52e4d
add HGRCPATH env var, list of places to look for hgrc files.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1949
diff
changeset
|
26 HGRCPATH=""; export HGRCPATH |
2059
a4c271765415
run-tests: Use appropriate (that is: none) diff options on HP-UX.
Sascha Wilde <wilde@sha-bang.de>
parents:
2023
diff
changeset
|
27 OS=`uname` |
a4c271765415
run-tests: Use appropriate (that is: none) diff options on HP-UX.
Sascha Wilde <wilde@sha-bang.de>
parents:
2023
diff
changeset
|
28 |
a4c271765415
run-tests: Use appropriate (that is: none) diff options on HP-UX.
Sascha Wilde <wilde@sha-bang.de>
parents:
2023
diff
changeset
|
29 case "$OS" in |
2060
676f5fd84a94
Don't use -u option for diff on SunOS, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2059
diff
changeset
|
30 HP-UX|SunOS) |
2059
a4c271765415
run-tests: Use appropriate (that is: none) diff options on HP-UX.
Sascha Wilde <wilde@sha-bang.de>
parents:
2023
diff
changeset
|
31 DIFFOPTS= |
a4c271765415
run-tests: Use appropriate (that is: none) diff options on HP-UX.
Sascha Wilde <wilde@sha-bang.de>
parents:
2023
diff
changeset
|
32 ;; |
a4c271765415
run-tests: Use appropriate (that is: none) diff options on HP-UX.
Sascha Wilde <wilde@sha-bang.de>
parents:
2023
diff
changeset
|
33 *) |
a4c271765415
run-tests: Use appropriate (that is: none) diff options on HP-UX.
Sascha Wilde <wilde@sha-bang.de>
parents:
2023
diff
changeset
|
34 DIFFOPTS=-u |
a4c271765415
run-tests: Use appropriate (that is: none) diff options on HP-UX.
Sascha Wilde <wilde@sha-bang.de>
parents:
2023
diff
changeset
|
35 ;; |
a4c271765415
run-tests: Use appropriate (that is: none) diff options on HP-UX.
Sascha Wilde <wilde@sha-bang.de>
parents:
2023
diff
changeset
|
36 esac |
488
77c66c4eec0e
[PATCH] Set locale before run-tests does anything
mpm@selenic.com
parents:
473
diff
changeset
|
37 |
2023
3bdd3bf17cfa
Use [ x = y ] instead of [ x == y ] in shell scripts.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1952
diff
changeset
|
38 if [ `echo -n HG` = "-n HG" ] |
1952
f4df34b6987f
tests: fix portability issue for echo -n
TK Soh <teekaysoh@yahoo.com>
parents:
1951
diff
changeset
|
39 then |
f4df34b6987f
tests: fix portability issue for echo -n
TK Soh <teekaysoh@yahoo.com>
parents:
1951
diff
changeset
|
40 ECHO_N=echo |
f4df34b6987f
tests: fix portability issue for echo -n
TK Soh <teekaysoh@yahoo.com>
parents:
1951
diff
changeset
|
41 NNL="\c" |
f4df34b6987f
tests: fix portability issue for echo -n
TK Soh <teekaysoh@yahoo.com>
parents:
1951
diff
changeset
|
42 else |
f4df34b6987f
tests: fix portability issue for echo -n
TK Soh <teekaysoh@yahoo.com>
parents:
1951
diff
changeset
|
43 ECHO_N="echo -n" |
f4df34b6987f
tests: fix portability issue for echo -n
TK Soh <teekaysoh@yahoo.com>
parents:
1951
diff
changeset
|
44 NNL= |
f4df34b6987f
tests: fix portability issue for echo -n
TK Soh <teekaysoh@yahoo.com>
parents:
1951
diff
changeset
|
45 fi |
1925
c71420b186b0
small solaris portability fixes from John Levon <levon@movementarian.org>
Peter van Dijk <peter@dataloss.nl>
parents:
1923
diff
changeset
|
46 |
489 | 47 umask 022 |
48 | |
331 | 49 tests=0 |
50 failed=0 | |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
51 |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
52 HGTMP="" |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
53 cleanup_exit() { |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
54 rm -rf "$HGTMP" |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
55 } |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
56 |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
57 # Remove temporary files even if we get interrupted |
835
9de3535caae8
Cleaned up trap handling in run-tests, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
833
diff
changeset
|
58 trap "cleanup_exit" 0 # normal exit |
9de3535caae8
Cleaned up trap handling in run-tests, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
833
diff
changeset
|
59 trap "exit 255" 1 2 3 6 15 # HUP INT QUIT ABRT TERM |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
60 |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
61 HGTMP="${TMPDIR-/tmp}/hgtests.$RANDOM.$RANDOM.$RANDOM.$$" |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
62 (umask 077 && mkdir "$HGTMP") || { |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
63 echo "Could not create temporary directory! Exiting." 1>&2 |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
64 exit 1 |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
65 } |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
66 |
2163
278f9b13c39a
SunOS fix: Replaced $PWD with `pwd`
Sascha Wilde <wilde@sha-bang.de>
parents:
2069
diff
changeset
|
67 TESTDIR="`pwd`" |
1923
7d83a351a936
fix testsuite for freebsd and one timingissue
Peter van Dijk <peter@dataloss.nl>
parents:
1558
diff
changeset
|
68 export TESTDIR |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
69 INST="$HGTMP/install" |
1558
651690fe6be3
fix run-tests' PYTHONPATH
Robin Farine <robin.farine@terminus.org>
parents:
1308
diff
changeset
|
70 PYTHONDIR="$INST/lib/python" |
397
e5683db23ec4
From: Andrew Thompson <andrewkt@aktzero.com>
mpm@selenic.com
parents:
382
diff
changeset
|
71 cd .. |
2183
a56fc34d6e23
Always clean the build directory before installing for running the tests.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2163
diff
changeset
|
72 if ${PYTHON-python} setup.py clean --all install --force --home="$INST" \ |
1558
651690fe6be3
fix run-tests' PYTHONPATH
Robin Farine <robin.farine@terminus.org>
parents:
1308
diff
changeset
|
73 --install-lib="$PYTHONDIR" > tests/install.err 2>&1 |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
74 then |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
75 rm tests/install.err |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
76 else |
398 | 77 cat tests/install.err |
835
9de3535caae8
Cleaned up trap handling in run-tests, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
833
diff
changeset
|
78 exit 1 |
398 | 79 fi |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
80 cd "$TESTDIR" |
397
e5683db23ec4
From: Andrew Thompson <andrewkt@aktzero.com>
mpm@selenic.com
parents:
382
diff
changeset
|
81 |
2068
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
82 BINDIR="$INST/bin"; export BINDIR |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
83 if [ -n "$TEST_COVERAGE" ]; then |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
84 COVERAGE_FILE="$TESTDIR/.coverage"; export COVERAGE_FILE |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
85 rm -f "$COVERAGE_FILE" |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
86 mv "$BINDIR/hg" "$BINDIR/hg.py" |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
87 { |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
88 echo '#!/bin/sh' |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
89 echo "exec \"${PYTHON-python}\" \"$TESTDIR/coverage.py\"" \ |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
90 "-x \"$BINDIR/hg.py\" \"\$@\"" |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
91 } > "$BINDIR/hg" |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
92 chmod 700 "$BINDIR/hg" |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
93 fi |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
94 |
1878
a5c46cff620f
Make #!/usr/bin/env python in test-bdiff run the specified python version.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1558
diff
changeset
|
95 PATH="$BINDIR:$PATH"; export PATH |
a5c46cff620f
Make #!/usr/bin/env python in test-bdiff run the specified python version.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1558
diff
changeset
|
96 if [ -n "$PYTHON" ]; then |
a5c46cff620f
Make #!/usr/bin/env python in test-bdiff run the specified python version.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1558
diff
changeset
|
97 { |
a5c46cff620f
Make #!/usr/bin/env python in test-bdiff run the specified python version.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1558
diff
changeset
|
98 echo "#!/bin/sh" |
a5c46cff620f
Make #!/usr/bin/env python in test-bdiff run the specified python version.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1558
diff
changeset
|
99 echo "exec \"$PYTHON"'" "$@"' |
a5c46cff620f
Make #!/usr/bin/env python in test-bdiff run the specified python version.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1558
diff
changeset
|
100 } > "$BINDIR/python" |
a5c46cff620f
Make #!/usr/bin/env python in test-bdiff run the specified python version.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1558
diff
changeset
|
101 chmod 755 "$BINDIR/python" |
a5c46cff620f
Make #!/usr/bin/env python in test-bdiff run the specified python version.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1558
diff
changeset
|
102 fi |
a5c46cff620f
Make #!/usr/bin/env python in test-bdiff run the specified python version.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1558
diff
changeset
|
103 |
1558
651690fe6be3
fix run-tests' PYTHONPATH
Robin Farine <robin.farine@terminus.org>
parents:
1308
diff
changeset
|
104 PYTHONPATH="$PYTHONDIR"; export PYTHONPATH |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
105 |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
106 run_one() { |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
107 rm -f "$1.err" |
331 | 108 |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
109 mkdir "$HGTMP/$1" |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
110 cd "$HGTMP/$1" |
331 | 111 fail=0 |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
112 HOME="$HGTMP/$1"; export HOME |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
113 OUT="$HGTMP/$1.out" |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
114 OUTOK="$TESTDIR/$1.out" |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
115 ERR="$TESTDIR/$1.err" |
362
410373162036
run-tests: run tests given on the command line
mpm@selenic.com
parents:
350
diff
changeset
|
116 |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
117 if "$TESTDIR/$1" > "$OUT" 2>&1; then |
803
3d47e7fc33a3
Use tabs instead of spaces where apropriate.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
802
diff
changeset
|
118 : no error |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
119 else |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
120 echo "$1 failed with error code $?" |
331 | 121 fail=1 |
122 fi | |
362
410373162036
run-tests: run tests given on the command line
mpm@selenic.com
parents:
350
diff
changeset
|
123 |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
124 if [ -s "$OUT" -a ! -s "$OUTOK" ] ; then |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
125 cp "$OUT" "$ERR" |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
126 echo |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
127 echo "$1 generated unexpected output:" |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
128 cat "$ERR" |
331 | 129 fail=1 |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
130 elif [ -r "$OUTOK" ]; then |
2059
a4c271765415
run-tests: Use appropriate (that is: none) diff options on HP-UX.
Sascha Wilde <wilde@sha-bang.de>
parents:
2023
diff
changeset
|
131 if diff $DIFFOPTS "$OUTOK" "$OUT" > /dev/null; then |
803
3d47e7fc33a3
Use tabs instead of spaces where apropriate.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
802
diff
changeset
|
132 : no differences |
3d47e7fc33a3
Use tabs instead of spaces where apropriate.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
802
diff
changeset
|
133 else |
833
ad8ff3534fde
Removed special FIXME handling in run-tests, added bug info to .out files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
814
diff
changeset
|
134 cp "$OUT" "$ERR" |
ad8ff3534fde
Removed special FIXME handling in run-tests, added bug info to .out files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
814
diff
changeset
|
135 echo |
ad8ff3534fde
Removed special FIXME handling in run-tests, added bug info to .out files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
814
diff
changeset
|
136 echo "$1 output changed:" |
2059
a4c271765415
run-tests: Use appropriate (that is: none) diff options on HP-UX.
Sascha Wilde <wilde@sha-bang.de>
parents:
2023
diff
changeset
|
137 diff $DIFFOPTS "$OUTOK" "$ERR" || true |
833
ad8ff3534fde
Removed special FIXME handling in run-tests, added bug info to .out files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
814
diff
changeset
|
138 fail=1 |
803
3d47e7fc33a3
Use tabs instead of spaces where apropriate.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
802
diff
changeset
|
139 fi |
331 | 140 fi |
141 | |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
142 cd "$TESTDIR" |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
143 rm -f "$HGTMP/$1.out" |
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
144 rm -rf "$HGTMP/$1" |
362
410373162036
run-tests: run tests given on the command line
mpm@selenic.com
parents:
350
diff
changeset
|
145 return $fail |
410373162036
run-tests: run tests given on the command line
mpm@selenic.com
parents:
350
diff
changeset
|
146 } |
331 | 147 |
1308
2073e5a71008
Cleanup of tabs and trailing spaces.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1279
diff
changeset
|
148 # list of prerequisite programs |
1279
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
149 # stuff from coreutils (cat, rm, etc) are not tested |
1949
d2c2e77826c0
tests: add bunzip2 to prerequisite list
Soh Tk-r28629 <tksoh@freescale.com>
parents:
1932
diff
changeset
|
150 prereqs="python merge diff grep unzip gunzip bunzip2 sed" |
1279
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
151 missing='' |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
152 for pre in $prereqs ; do |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
153 if type $pre > /dev/null 2>&1 ; then |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
154 : prereq exists |
1308
2073e5a71008
Cleanup of tabs and trailing spaces.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1279
diff
changeset
|
155 else |
1279
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
156 missing="$pre $missing" |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
157 fi |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
158 done |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
159 |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
160 if [ "$missing" != '' ] ; then |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
161 echo "ERROR: the test suite needs some programs to execute correctly." |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
162 echo "The following programs are missing: " |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
163 for pre in $missing; do |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
164 echo " $pre" |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
165 done |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
166 exit 1 |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
167 fi |
8ab1c07d4e0b
Add checks for programs which are required for the test suite to run.
eric@localhost.localdomain
parents:
925
diff
changeset
|
168 |
804
19388dcbac49
Incorporated most of Aron Griffis suggestions for sh compatibility.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
803
diff
changeset
|
169 TESTS="$*" |
798
c28f9feb7c2e
Make tests work on Solaris:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
793
diff
changeset
|
170 if [ -z "$TESTS" ] ; then |
804
19388dcbac49
Incorporated most of Aron Griffis suggestions for sh compatibility.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
803
diff
changeset
|
171 TESTS=`ls test-* | grep -v "[.~]"` |
362
410373162036
run-tests: run tests given on the command line
mpm@selenic.com
parents:
350
diff
changeset
|
172 fi |
410373162036
run-tests: run tests given on the command line
mpm@selenic.com
parents:
350
diff
changeset
|
173 |
410373162036
run-tests: run tests given on the command line
mpm@selenic.com
parents:
350
diff
changeset
|
174 for f in $TESTS ; do |
1952
f4df34b6987f
tests: fix portability issue for echo -n
TK Soh <teekaysoh@yahoo.com>
parents:
1951
diff
changeset
|
175 $ECHO_N ".${NNL}" |
804
19388dcbac49
Incorporated most of Aron Griffis suggestions for sh compatibility.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
803
diff
changeset
|
176 run_one $f || failed=`expr $failed + 1` |
19388dcbac49
Incorporated most of Aron Griffis suggestions for sh compatibility.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
803
diff
changeset
|
177 tests=`expr $tests + 1` |
331 | 178 done |
179 | |
180 echo | |
804
19388dcbac49
Incorporated most of Aron Griffis suggestions for sh compatibility.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
803
diff
changeset
|
181 echo "Ran $tests tests, $failed failed." |
331 | 182 |
2068
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
183 if [ -n "$TEST_COVERAGE" ]; then |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
184 unset PYTHONPATH |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
185 $ECHO_N "$BINDIR,$TESTDIR,$HGTMP/test-," > "$HGTMP/omit" |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
186 if [ -z "$COVERAGE_STDLIB" ]; then |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
187 "${PYTHON-python}" -c 'import sys; print ",".join(sys.path)' \ |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
188 >> "$HGTMP/omit" |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
189 fi |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
190 cd "$PYTHONDIR" |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
191 "${PYTHON-python}" "$TESTDIR/coverage.py" -r --omit="`cat \"$HGTMP/omit\"`" |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
192 fi |
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2023
diff
changeset
|
193 |
331 | 194 if [ $failed -gt 0 ] ; then |
835
9de3535caae8
Cleaned up trap handling in run-tests, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
833
diff
changeset
|
195 exit 1 |
331 | 196 fi |
835
9de3535caae8
Cleaned up trap handling in run-tests, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
833
diff
changeset
|
197 exit 0 |