From 592819f7188509713f3db6dbe6bc7d0b7e3af89e Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 18 Jan 2025 22:21:03 +1030 Subject: 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. --- binutils/testsuite/lib/binutils-common.exp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'binutils') 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 @@ 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 -- cgit v1.1