From: Alan Modra Date: Sat, 18 Jan 2025 11:51:03 +0000 (+1030) Subject: run_dump_test warning/error regexp X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=592819f7188509713f3db6dbe6bc7d0b7e3af89e;p=thirdparty%2Fbinutils-gdb.git 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 72664d84bcc..41d94d256ec 100644 --- a/binutils/testsuite/lib/binutils-common.exp +++ b/binutils/testsuite/lib/binutils-common.exp @@ -1567,12 +1567,16 @@ proc run_dump_test { name {extra_options {}} } { 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