summaryrefslogtreecommitdiffstats
path: root/tools/regression
diff options
context:
space:
mode:
authorjilles <jilles@FreeBSD.org>2010-08-22 21:18:21 +0000
committerjilles <jilles@FreeBSD.org>2010-08-22 21:18:21 +0000
commit44306000bd39088d3ea3cb9ea48d5e8e2a2db956 (patch)
treefe838f436df897b73945aca0f1988908713acfe4 /tools/regression
parent46ef2238957d432f05edefd9ba4e01694a007942 (diff)
downloadFreeBSD-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.028
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))
OpenPOWER on IntegriCloud