sh: Split off some special behavior into separate regress tests.
authorPeter Avalos <pavalos@dragonflybsd.org>
Sat, 16 Apr 2011 21:33:04 +0000 (11:33 -1000)
committerPeter Avalos <pavalos@dragonflybsd.org>
Sat, 16 Apr 2011 21:55:48 +0000 (11:55 -1000)
Obtained-from: FreeBSD

tools/regression/bin/sh/builtins/trap3.0
tools/regression/bin/sh/builtins/trap8.0 [new file with mode: 0644]
tools/regression/bin/sh/parser/for1.0
tools/regression/bin/sh/parser/for2.0 [new file with mode: 0644]

index d661a78..a0edc72 100644 (file)
@@ -1,4 +1,4 @@
-# $FreeBSD: src/tools/regression/bin/sh/builtins/trap3.0,v 1.1 2009/11/21 20:44:34 jilles Exp $
+# $FreeBSD: src/tools/regression/bin/sh/builtins/trap3.0,v 1.2 2011/02/20 14:18:58 jilles Exp $
 
 {
        trap '' garbage && exit 3
@@ -8,5 +8,4 @@
        trap - 99999 && exit 3
        trap true 99999 && exit 3
 } 2>/dev/null
-test -n "$(trap true garbage TERM 2>/dev/null || trap)" || exit 3
 exit 0
diff --git a/tools/regression/bin/sh/builtins/trap8.0 b/tools/regression/bin/sh/builtins/trap8.0
new file mode 100644 (file)
index 0000000..048fef8
--- /dev/null
@@ -0,0 +1,7 @@
+# $FreeBSD: src/tools/regression/bin/sh/builtins/trap8.0,v 1.1 2011/02/20 14:18:58 jilles Exp $
+
+# I am not sure if POSIX requires the shell to continue processing
+# further trap names in the same trap command after an invalid one.
+
+test -n "$(trap true garbage TERM 2>/dev/null || trap)" || exit 3
+exit 0
index 470cd00..91a2583 100644 (file)
@@ -1,4 +1,4 @@
-# $FreeBSD: src/tools/regression/bin/sh/parser/for1.0,v 1.2 2009/12/06 23:31:23 jilles Exp $
+# $FreeBSD: src/tools/regression/bin/sh/parser/for1.0,v 1.3 2011/02/20 14:18:58 jilles Exp $
 
 nl='
 '
@@ -13,7 +13,7 @@ for s1 in "$nl" " "; do
        done
 done
 set -- $list
-for s2 in "$nl" " " ";" ";$nl"; do # s2=";" and ";$nl" are extensions to POSIX
+for s2 in "$nl" " "; do
        for s3 in "$nl" " "; do
                r=''
                eval "for i${s2}do${s3}r=\"\$r \$i\"; done"
diff --git a/tools/regression/bin/sh/parser/for2.0 b/tools/regression/bin/sh/parser/for2.0
new file mode 100644 (file)
index 0000000..e887e66
--- /dev/null
@@ -0,0 +1,15 @@
+# $FreeBSD: src/tools/regression/bin/sh/parser/for2.0,v 1.1 2011/02/20 14:18:58 jilles Exp $
+
+# Common extensions to the 'for' syntax.
+
+nl='
+'
+list=' a b c'
+set -- $list
+for s2 in ";" ";$nl"; do
+       for s3 in "$nl" " "; do
+               r=''
+               eval "for i${s2}do${s3}r=\"\$r \$i\"; done"
+               [ "$r" = "$list" ] || exit 1
+       done
+done