From ec6257fc30945063d93beb15307f3b475b9b04a1 Mon Sep 17 00:00:00 2001 From: Peter Avalos Date: Sat, 16 Apr 2011 11:33:04 -1000 Subject: [PATCH 1/1] sh: Split off some special behavior into separate regress tests. Obtained-from: FreeBSD --- tools/regression/bin/sh/builtins/trap3.0 | 3 +-- tools/regression/bin/sh/builtins/trap8.0 | 7 +++++++ tools/regression/bin/sh/parser/for1.0 | 4 ++-- tools/regression/bin/sh/parser/for2.0 | 15 +++++++++++++++ 4 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 tools/regression/bin/sh/builtins/trap8.0 create mode 100644 tools/regression/bin/sh/parser/for2.0 diff --git a/tools/regression/bin/sh/builtins/trap3.0 b/tools/regression/bin/sh/builtins/trap3.0 index d661a78f30..a0edc726b1 100644 --- a/tools/regression/bin/sh/builtins/trap3.0 +++ b/tools/regression/bin/sh/builtins/trap3.0 @@ -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 index 0000000000..048fef800b --- /dev/null +++ b/tools/regression/bin/sh/builtins/trap8.0 @@ -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 diff --git a/tools/regression/bin/sh/parser/for1.0 b/tools/regression/bin/sh/parser/for1.0 index 470cd00e27..91a25831cb 100644 --- a/tools/regression/bin/sh/parser/for1.0 +++ b/tools/regression/bin/sh/parser/for1.0 @@ -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 index 0000000000..e887e66f03 --- /dev/null +++ b/tools/regression/bin/sh/parser/for2.0 @@ -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 -- 2.41.0