diff options
author | jilles <jilles@FreeBSD.org> | 2010-08-22 21:18:21 +0000 |
---|---|---|
committer | jilles <jilles@FreeBSD.org> | 2010-08-22 21:18:21 +0000 |
commit | 44306000bd39088d3ea3cb9ea48d5e8e2a2db956 (patch) | |
tree | fe838f436df897b73945aca0f1988908713acfe4 /tools/regression | |
parent | 46ef2238957d432f05edefd9ba4e01694a007942 (diff) | |
download | FreeBSD-src-44306000bd39088d3ea3cb9ea48d5e8e2a2db956.zip FreeBSD-src-44306000bd39088d3ea3cb9ea48d5e8e2a2db956.tar.gz |
sh: Remove remnants of '!!' to negate pattern.
This Almquist extension was disabled long ago.
In pathname generation, components starting with '!!' were treated as
containing wildcards, causing unnecessary readdir (which could fail, causing
pathname generation to fail while it should not).
Diffstat (limited to 'tools/regression')
-rw-r--r-- | tools/regression/bin/sh/expansion/pathname4.0 | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tools/regression/bin/sh/expansion/pathname4.0 b/tools/regression/bin/sh/expansion/pathname4.0 new file mode 100644 index 0000000..18269c4 --- /dev/null +++ b/tools/regression/bin/sh/expansion/pathname4.0 @@ -0,0 +1,28 @@ +# $FreeBSD$ + +failures=0 + +check() { + testcase=$1 + expect=$2 + eval "set -- $testcase" + actual="$*" + if [ "$actual" != "$expect" ]; then + failures=$((failures+1)) + printf '%s\n' "For $testcase, expected $expect actual $actual" + fi +} + +set -e +T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) +trap 'rm -rf $T' 0 +cd -P $T + +mkdir !!a +touch !!a/fff + +chmod u-r . +check '!!a/ff*' '!!a/fff' +chmod u+r . + +exit $((failures != 0)) |