From 744b9a190b9b5b83d83f43d35b6ab6d20f49af8f Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 29 Mar 2015 16:41:59 -0400 Subject: [PATCH] sim; testsuite: allow tests to set no output If a test doesn't write anything at all to stdout, the current test framework can't support that. Even if you put a blank output line: # output: the setup happily clobbers that with a default pass/fail string. Tweak the parsing logic so we only set the output to pass/fail when the test has no output marker. --- sim/testsuite/ChangeLog | 6 ++++++ sim/testsuite/lib/sim-defs.exp | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/sim/testsuite/ChangeLog b/sim/testsuite/ChangeLog index 6de8bdc..55ef169 100644 --- a/sim/testsuite/ChangeLog +++ b/sim/testsuite/ChangeLog @@ -1,5 +1,11 @@ 2015-03-29 Mike Frysinger + * lib/sim-defs.exp (run_sim_test): Declare seen_output as 0. When + the test has an output keyword, set it to 1. Set default output only + when seen_output is 0. + +2015-03-29 Mike Frysinger + * configure: Regenerate. 2015-03-28 Mike Frysinger diff --git a/sim/testsuite/lib/sim-defs.exp b/sim/testsuite/lib/sim-defs.exp index c8093a2..fb2346a 100644 --- a/sim/testsuite/lib/sim-defs.exp +++ b/sim/testsuite/lib/sim-defs.exp @@ -218,6 +218,7 @@ proc run_sim_test { name requested_machs } { set opts(xerror) "no" set opts(xfail) "" set opts(kfail) "" + set seen_output 0 if ![info exists global_as_options] { set global_as_options "" @@ -260,6 +261,7 @@ proc run_sim_test { name requested_machs } { # Multiple "output" specifications concatenate, they don't override. if { $opt_name == "output" } { set opt_val "$opts(output)$opt_val" + set seen_output 1 } # Similar with "xfail" and "kfail", but arguments are space-separated. if { $opt_name == "xfail" || $opt_name == "kfail" } { @@ -276,7 +278,7 @@ proc run_sim_test { name requested_machs } { set testname $name set sourcefile $file - if { $opts(output) == "" } { + if { $seen_output == 0 } { if { "$opts(xerror)" == "no" } { set opts(output) "pass\n" } else { -- 2.7.4