diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/regression/bin/sh/parser/heredoc4.0 | 44 | ||||
-rw-r--r-- | tools/regression/bin/sh/parser/heredoc5.0 | 56 |
2 files changed, 100 insertions, 0 deletions
diff --git a/tools/regression/bin/sh/parser/heredoc4.0 b/tools/regression/bin/sh/parser/heredoc4.0 new file mode 100644 index 0000000..fa3af5f --- /dev/null +++ b/tools/regression/bin/sh/parser/heredoc4.0 @@ -0,0 +1,44 @@ +# $FreeBSD$ + +failures=0 + +check() { + if ! eval "[ $* ]"; then + echo "Failed: $*" + : $((failures += 1)) + fi +} + +f() { + cat <<EOF && echo `echo bar` +foo +EOF +} +check '"`f`" = "foo +bar"' + +f() { + cat <<EOF && echo $(echo bar) +foo +EOF +} +check '"$(f)" = "foo +bar"' + +f() { + echo `echo bar` && cat <<EOF +foo +EOF +} +check '"`f`" = "bar +foo"' + +f() { + echo $(echo bar) && cat <<EOF +foo +EOF +} +check '"$(f)" = "bar +foo"' + +exit $((failures != 0)) diff --git a/tools/regression/bin/sh/parser/heredoc5.0 b/tools/regression/bin/sh/parser/heredoc5.0 new file mode 100644 index 0000000..84b0eb2 --- /dev/null +++ b/tools/regression/bin/sh/parser/heredoc5.0 @@ -0,0 +1,56 @@ +# $FreeBSD$ + +failures=0 + +check() { + if ! eval "[ $* ]"; then + echo "Failed: $*" + : $((failures += 1)) + fi +} + +f() { + cat <<EOF && echo `cat <<EOF +bar +EOF +` +foo +EOF +} +check '"`f`" = "foo +bar"' + +f() { + cat <<EOF && echo $(cat <<EOF +bar +EOF +) +foo +EOF +} +check '"$(f)" = "foo +bar"' + +f() { + echo `cat <<EOF +bar +EOF +` && cat <<EOF +foo +EOF +} +check '"`f`" = "bar +foo"' + +f() { + echo $(cat <<EOF +bar +EOF +) && cat <<EOF +foo +EOF +} +check '"$(f)" = "bar +foo"' + +exit $((failures != 0)) |