]>
Commit | Line | Data |
---|---|---|
71aad674 A |
1 | # $FreeBSD$ |
2 | ||
3 | failures=0 | |
4 | ||
5 | check() { | |
6 | testcase=$1 | |
7 | expect=$2 | |
8 | eval "set -- $testcase" | |
9 | actual="$*" | |
10 | if [ "$actual" != "$expect" ]; then | |
11 | failures=$((failures+1)) | |
12 | printf '%s\n' "For $testcase, expected $expect actual $actual" | |
13 | fi | |
14 | } | |
15 | ||
16 | set -e | |
17 | T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) | |
18 | trap 'rm -rf $T' 0 | |
19 | cd -P $T | |
20 | ||
21 | mkdir testdir testdir2 'testdir/*' 'testdir/?' testdir/a testdir/b testdir2/b | |
22 | mkdir testdir2/.c | |
23 | touch testf 'testdir/*/1' 'testdir/?/1' testdir/a/1 testdir/b/1 testdir2/b/.a | |
24 | ||
25 | check '*\/' 'testdir/ testdir2/' | |
26 | check '"testdir/"*"/1"' 'testdir/*/1 testdir/?/1 testdir/a/1 testdir/b/1' | |
27 | check '"testdir/"*"/"*' 'testdir/*/1 testdir/?/1 testdir/a/1 testdir/b/1' | |
28 | check '"testdir/"*\/*' 'testdir/*/1 testdir/?/1 testdir/a/1 testdir/b/1' | |
29 | check '"testdir"*"/"*"/"*' 'testdir/*/1 testdir/?/1 testdir/a/1 testdir/b/1' | |
30 | ||
31 | exit $((failures != 0)) |