Mercurial > hg > toybox
annotate scripts/test.sh @ 1393:3e8ab37a4b60 draft
Find bugfixes.
The check for -print vs -print0 was tested before I optimized out the "-" in the strcmps, and I didn't adjust the offset or retest it. (Ooops.)
Also, I wasn't clearing the ! value when descending into parentheticals, so "find . -name blah -o \! \( -stuff -o -thing \)" acted like it had a spurious second ! before -stuff inside the parentheses.
author | Rob Landley <rob@landley.net> |
---|---|
date | Fri, 18 Jul 2014 18:31:41 -0500 |
parents | 7dd487ddd7dc |
children | 8700cbe1cb29 |
rev | line source |
---|---|
204
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1 #!/bin/bash |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
2 |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
3 [ -z "$TOPDIR" ] && TOPDIR="$(pwd)" |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
4 |
206 | 5 rm -rf testdir |
1376
7dd487ddd7dc
Have "make test" run tests in testdir/testdir instead of same directory as command symlinks. (Makes cleanup easier.)
Rob Landley <rob@landley.net>
parents:
1120
diff
changeset
|
6 mkdir -p testdir/testdir |
204
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
7 |
291
620a2eab6b82
More tweaks to rmdir.test and the testing infrastructure.
Rob Landley <rob@landley.net>
parents:
287
diff
changeset
|
8 if [ -z "$TEST_HOST" ] |
204
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
9 then |
1088
4948a942de49
Teach scripts/test.sh to call scripts/single.sh.
Rob Landley <rob@landley.net>
parents:
606
diff
changeset
|
10 if [ $# -ne 0 ] |
4948a942de49
Teach scripts/test.sh to call scripts/single.sh.
Rob Landley <rob@landley.net>
parents:
606
diff
changeset
|
11 then |
4948a942de49
Teach scripts/test.sh to call scripts/single.sh.
Rob Landley <rob@landley.net>
parents:
606
diff
changeset
|
12 PREFIX=testdir/ scripts/single.sh "$@" || exit 1 |
4948a942de49
Teach scripts/test.sh to call scripts/single.sh.
Rob Landley <rob@landley.net>
parents:
606
diff
changeset
|
13 else |
4948a942de49
Teach scripts/test.sh to call scripts/single.sh.
Rob Landley <rob@landley.net>
parents:
606
diff
changeset
|
14 make install_flat PREFIX=testdir || exit 1 |
4948a942de49
Teach scripts/test.sh to call scripts/single.sh.
Rob Landley <rob@landley.net>
parents:
606
diff
changeset
|
15 fi |
204
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
16 fi |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
17 |
206 | 18 cd testdir |
1376
7dd487ddd7dc
Have "make test" run tests in testdir/testdir instead of same directory as command symlinks. (Makes cleanup easier.)
Rob Landley <rob@landley.net>
parents:
1120
diff
changeset
|
19 PATH="$PWD:$PATH" |
7dd487ddd7dc
Have "make test" run tests in testdir/testdir instead of same directory as command symlinks. (Makes cleanup easier.)
Rob Landley <rob@landley.net>
parents:
1120
diff
changeset
|
20 cd testdir |
204
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
21 |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
22 . "$TOPDIR"/scripts/test/testing.sh |
300
8f481b23138b
Adjust "optional" function (gen_config.h became generated/config.h).
Rob Landley <rob@landley.net>
parents:
291
diff
changeset
|
23 [ -f "$TOPDIR/generated/config.h" ] && export OPTIONFLAGS=:$(echo $(sed -nr 's/^#define CFG_(.*) 1/\1/p' "$TOPDIR/generated/config.h") | sed 's/ /:/g') |
204
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
24 |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
25 if [ $# -ne 0 ] |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
26 then |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
27 for i in "$@" |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
28 do |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
29 . "$TOPDIR"/scripts/test/$i.test |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
30 done |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
31 else |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
32 for i in "$TOPDIR"/scripts/test/*.test |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
33 do |
287
977302071875
Teach run-all-tests mode to only test enabled commands.
Rob Landley <rob@landley.net>
parents:
275
diff
changeset
|
34 CMDNAME="$(echo "$i" | sed 's@.*/\(.*\)\.test@\1@')" |
1376
7dd487ddd7dc
Have "make test" run tests in testdir/testdir instead of same directory as command symlinks. (Makes cleanup easier.)
Rob Landley <rob@landley.net>
parents:
1120
diff
changeset
|
35 if [ -h ../$CMDNAME ] || [ ! -z "$TEST_HOST" ] |
287
977302071875
Teach run-all-tests mode to only test enabled commands.
Rob Landley <rob@landley.net>
parents:
275
diff
changeset
|
36 then |
1376
7dd487ddd7dc
Have "make test" run tests in testdir/testdir instead of same directory as command symlinks. (Makes cleanup easier.)
Rob Landley <rob@landley.net>
parents:
1120
diff
changeset
|
37 cd .. && rm -rf testdir && mkdir testdir && cd testdir || exit 1 |
287
977302071875
Teach run-all-tests mode to only test enabled commands.
Rob Landley <rob@landley.net>
parents:
275
diff
changeset
|
38 . $i |
977302071875
Teach run-all-tests mode to only test enabled commands.
Rob Landley <rob@landley.net>
parents:
275
diff
changeset
|
39 else |
977302071875
Teach run-all-tests mode to only test enabled commands.
Rob Landley <rob@landley.net>
parents:
275
diff
changeset
|
40 echo "$CMDNAME disabled" |
977302071875
Teach run-all-tests mode to only test enabled commands.
Rob Landley <rob@landley.net>
parents:
275
diff
changeset
|
41 fi |
204
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
42 done |
64b6941c2f51
Add a wrapper to run tests out of scripts/test. With no arguments, runs all
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
43 fi |