From 56ce654f7e4608599369b303ed39eaddb0f77eee Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Mon, 24 Oct 2016 21:43:23 +0300 Subject: Fix printing no-newline here-doc and here-str --- tests/test/script/runner/driver.cxx | 3 +- tests/test/script/runner/testscript | 70 +++++++++++++++++++++++++++---------- 2 files changed, 54 insertions(+), 19 deletions(-) (limited to 'tests') diff --git a/tests/test/script/runner/driver.cxx b/tests/test/script/runner/driver.cxx index 940a68c..9eb36a0 100644 --- a/tests/test/script/runner/driver.cxx +++ b/tests/test/script/runner/driver.cxx @@ -6,6 +6,7 @@ #include #include #include // endl, *bit +#include // istream::traits_type::eof() #include #include @@ -50,7 +51,7 @@ main (int argc, char* argv[]) if (ifd == 0) cin.ignore (numeric_limits::max ()); - else + else if (cin.peek () != istream::traits_type::eof ()) (ifd == 1 ? cout : cerr) << cin.rdbuf (); } else if (o == "-o") diff --git a/tests/test/script/runner/testscript b/tests/test/script/runner/testscript index 4d5d3b3..89ef6a3 100644 --- a/tests/test/script/runner/testscript +++ b/tests/test/script/runner/testscript @@ -1,31 +1,42 @@ -$* -$* -i 0 foo -$* -o foo >- -$* -e foo 2>- +$* # status-def +$* == 0 # status-eq-0 +$* -s 1 != 0 # status-ne-0 +$* -s 1 == 1 # status-eq-1 +$* != 1 # status-ne-1 -$* -o foo -o bar >>EOO +$* -o foo >- # out-null +$* -e foo 2>- # err-null +$* -i 0 foo # out-str +$* -e foo 2>foo # err-str +$* -i 1 foo # inout-str +$* -i 2 foo # inerr-str +$* -i 1 -e bar foo 2>bar # inout-err-str + +$* -i 0 <>EOO +$* -o foo -o bar >>EOO # out-doc foo bar -EOI +EOO + +$* -e foo -e bar 2>>EOO # err-doc foo bar EOO -$* -i 2 <>EOE +$* -i 1 <>EOO # inout-doc foo bar EOI foo bar -EOE +EOO -$* -i 2 -s 1 <>EOE != 0 +$* -i 2 <>EOE # inerr-doc foo bar EOI @@ -33,40 +44,63 @@ foo bar EOE -$* -i 2 -o baz -s 10 <baz 2>>EOE == 10 +$* -i 1 -e bar -e baz -s 2 <>EOO 2>>EOE == 2 # inout-err-doc-status foo bar EOI foo bar +EOO +bar +baz EOE +$* -i 1 -e "" <>EOO 2>"" # empty-str-doc +EOI +EOO + +$* -i 1 <>EOO # nl-containing-doc + +EOI + +EOO + # No-newline tests. # # @@ TMP Need does not compare test. # -$* -i 1 <:"foo" >:"foo" # no-newline-str +$* -i 1 <:"foo" >:"foo" # no-newline-str #\ -$* -i 1 <:"foo" >!"foo" # no-newline-str-fail1 -$* -i 1 <"foo" >:!"foo" # no-newline-str-fail2 +$* -i 1 <:"foo" >!"foo" # no-newline-str-fail1 +$* -i 1 <"foo" >:!"foo" # no-newline-str-fail2 #\ -$* -i 1 <<:EOI >>:EOO # no-newline-doc +$* -i 1 <<:EOI >>:EOO # no-newline-doc foo EOI foo EOO #\ -$* -i 1 <<:EOI >>!EOO # no-newline-doc-fail1 +$* -i 1 <<:EOI >>!EOO # no-newline-doc-fail1 foo EOI foo EOO -$* -i 1 <>:!EOO # no-newline-doc-fail2 +$* -i 1 <>:!EOO # no-newline-doc-fail2 foo EOI foo EOO #\ + +$* -i 1 <<:EOI >>:EOO 2>:"" # no-newline-empty-str-doc +EOI +EOO + +$* -i 1 <<:EOI >>:EOO # no-newline-nl-cont-doc + +EOI + +EOO -- cgit v1.1