From 28106f96de8ae5cdb3a0ee0e3a8a8185551e3b00 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 20 Jan 2017 20:25:59 +0300 Subject: Add support for comparison of test command output to a file --- tests/test/script/runner/cleanup.test | 6 ++-- tests/test/script/runner/redirect.test | 50 ++++++++++++++++++++++++---------- 2 files changed, 39 insertions(+), 17 deletions(-) (limited to 'tests/test/script/runner') diff --git a/tests/test/script/runner/cleanup.test b/tests/test/script/runner/cleanup.test index ed724ee..1c3ccae 100644 --- a/tests/test/script/runner/cleanup.test +++ b/tests/test/script/runner/cleanup.test @@ -46,7 +46,7 @@ b += --no-column : $c <>>&a; + $* -o foo >+a; rm a EOI $b @@ -224,7 +224,7 @@ $b : : Test an implicit cleanup being overwritten with the explicit one, : -$c <'$* -o foo >>>a &!a'; +$c <'$* -o foo >=a &!a'; $b 2>>/EOE != 0 testscript:1: error: registered for cleanup directory test/1/ is not empty EOE @@ -235,7 +235,7 @@ EOE : $c <>>a +$* -o foo >=a EOO $b 2>>/EOE != 0 testscript:2: error: registered for cleanup directory test/1/ is not empty diff --git a/tests/test/script/runner/redirect.test b/tests/test/script/runner/redirect.test index e2d765c..f32492a 100644 --- a/tests/test/script/runner/redirect.test +++ b/tests/test/script/runner/redirect.test @@ -465,31 +465,53 @@ psr = ($cxx.target.class != 'windows' ? '/' : '\\') # Path separator in regex. : file : { - : in-out + : in : $c <>>out; + $* -o foo >=out; $* -i 1 <<foo EOI $b - : append + : out : - $c <>>out; - $* -e bar 2>>>&out; - $* -i 1 <<>EOO - foo - bar - EOO - EOI - $b + { + : match + : + $c <=out; + $* -e bar 2>+out; + $* -i 1 <>>out + foo + bar + EOF + EOI + $b + + : mismatch + : + $c <=out; + $* -o bar >>>out + EOI + $b 2>>/~%EOE%d != 0 + %testscript:2: error: ../../../../../driver(.exe)? stdout doesn't match the expected output% + info: stdout: test/1/stdout-2 + info: expected stdout: test/1/out + info: stdout diff: test/1/stdout-2.diff + %--- \.*% + %\+\+\+ \.*% + %@@ \.*% + -foo + +bar + EOE + } : merge : $c <&1 >>>out; - $* -e baz -o biz 1>&2 2>>>&out; + $* -o foo -e bar 2>&1 >=out; + $* -e baz -o biz 1>&2 2>+out; $* -i 1 <<>EOO foo bar -- cgit v1.1