From 84dd05fe654eadd755d25932fcd76d1254dc8865 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Mon, 6 Mar 2017 19:22:04 +0300 Subject: Print unexpected or regex non-matching test command stdout/stderr --- build2/test/script/runner.cxx | 8 ++++++++ tests/test/script/runner/redirect.test | 5 +++++ tests/test/script/runner/regex.test | 2 ++ 3 files changed, 15 insertions(+) diff --git a/build2/test/script/runner.cxx b/build2/test/script/runner.cxx index 68a8d32..5991546 100644 --- a/build2/test/script/runner.cxx +++ b/build2/test/script/runner.cxx @@ -229,6 +229,10 @@ namespace build2 info << what << ": " << op; input_info (d); + + // Print cached output. + // + print_file (d, op, ll); } // Fall through (to return false). @@ -615,6 +619,10 @@ namespace build2 output_info (d, op); output_info (d, rp, "", " regex"); input_info (d); + + // Print cached output. + // + print_file (d, op, ll); } // Fall through (to return false). diff --git a/tests/test/script/runner/redirect.test b/tests/test/script/runner/redirect.test index 4e0bc69..0535617 100644 --- a/tests/test/script/runner/redirect.test +++ b/tests/test/script/runner/redirect.test @@ -112,6 +112,7 @@ psr = ($cxx.target.class != 'windows' ? '/' : '\\') # Path separator in regex. %testscript:1: error: ../../../../../driver(.exe)? stdout doesn't match the regex% info: stdout: test/1/stdout info: stdout regex: test/1/stdout.regex + fooo EOE : portable-path-failure @@ -127,6 +128,7 @@ psr = ($cxx.target.class != 'windows' ? '/' : '\\') # Path separator in regex. info: stdout: test/1/stdout info: stdout regex: test/1/stdout.regex info: stdin: test/1/stdin + foo EOE cat test/1/stdout.regex >"%bar$psr%" @@ -137,6 +139,7 @@ psr = ($cxx.target.class != 'windows' ? '/' : '\\') # Path separator in regex. info: stdout: test/1/stdout info: stdout regex: test/1/stdout.regex info: stdin: test/1/stdin + foo EOE cat test/1/stdout.regex >:"%bar$psr%" } @@ -392,6 +395,7 @@ psr = ($cxx.target.class != 'windows' ? '/' : '\\') # Path separator in regex. %testscript:1: error: ../../../../../driver(.exe)? stdout doesn't match the regex% info: stdout: test/1/stdout info: stdout regex: test/1/stdout.regex + foo EOE : mismatch-icase @@ -404,6 +408,7 @@ psr = ($cxx.target.class != 'windows' ? '/' : '\\') # Path separator in regex. %testscript:1: error: ../../../../../driver(.exe)? stdout doesn't match the regex% info: stdout: test/1/stdout info: stdout regex: test/1/stdout.regex~i + foo EOE } } diff --git a/tests/test/script/runner/regex.test b/tests/test/script/runner/regex.test index c45c3a5..e0ef1c9 100644 --- a/tests/test/script/runner/regex.test +++ b/tests/test/script/runner/regex.test @@ -44,6 +44,7 @@ info: stdout: test/1/stdout info: stdout regex: test/1/stdout.regex info: stdin: test/1/stdin + foo EOE } @@ -168,6 +169,7 @@ info: stdout: test/1/stdout info: stdout regex: test/1/stdout.regex info: stdin: test/1/stdin + foo EOE } } -- cgit v1.1