diff options
Diffstat (limited to '')
-rw-r--r-- | bin/1sh/tests/parser/line-cont11.0 | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/bin/1sh/tests/parser/line-cont11.0 b/bin/1sh/tests/parser/line-cont11.0 new file mode 100644 index 00000000..053d81d3 --- /dev/null +++ b/bin/1sh/tests/parser/line-cont11.0 @@ -0,0 +1,23 @@ +# $FreeBSD: releng/12.1/bin/sh/tests/parser/line-cont11.0 273276 2014-10-19 11:59:15Z jilles $ + +T=$(mktemp "${TMPDIR:-/tmp}/sh-test.XXXXXXXX") || exit +trap 'rm -f -- "$T"' 0 +w='#A' +# A naive pgetc_linecont() would push back two characters here, which +# fails if a new buffer is read between the two characters. +c='${w#\#}' +c=$c$c$c$c +c=$c$c$c$c +c=$c$c$c$c +c=$c$c$c$c +c=$c$c$c$c +c=$c$c$c$c +printf 'v=%s\n' "$c" >"$T" +. "$T" +if [ "${#v}" != 4096 ]; then + echo "Length is bad (${#v})" + exit 3 +fi +case $v in +*[!A]*) echo "Content is bad"; exit 3 ;; +esac |