run_dump_test warning/error regexp
This allows you to specify a run_dump_test warning that may or may not
be present using
warning: (warning_text_goes_here)?
ie. the regexp matches an empty string.
diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp
index 72664d8..41d94d2 100644
--- a/binutils/testsuite/lib/binutils-common.exp
+++ b/binutils/testsuite/lib/binutils-common.exp
@@ -1567,12 +1567,16 @@
verbose -log "$exitstat with: <$comp_output>, no expected output"
}
- if { (($want_out(source) == "") == ($comp_output == "")) \
- && (($cmdret == 0) == ($want_out(terminal) == 0)) \
- && ((($want_out(source) == "regex") \
- && [regexp -- $want_out(regex) $comp_output]) \
- || (($want_out(source) == "file") \
- && (![regexp_diff "tmpdir/ld.messages" "$srcdir/$subdir/$want_out(file)"]))) } {
+ set ok 0
+ if { ($cmdret == 0) == ($want_out(terminal) == 0) } {
+ switch $want_out(source) {
+ regex { set ok [regexp -- $want_out(regex) $comp_output] }
+ file { set ok [expr ![regexp_diff tmpdir/ld.messages \
+ $srcdir/$subdir/$want_out(file)]] }
+ "" { set ok [string equal $comp_output ""] }
+ }
+ }
+ if { $ok } {
# We have the expected output.
if { $want_out(terminal) || $dumpprogram == "" } {
pass $testname