diff options
author | Tom de Vries <tdevries@suse.de> | 2021-09-13 09:16:13 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2021-09-13 09:16:13 +0200 |
commit | 003fa0df36e228405bb67069a119408787d7f8c9 (patch) | |
tree | f251e0406143413bb0901d77c6b9ca5d81d6bb4c | |
parent | 52e5dceb692eec135e27b330d8a6a2d561d11472 (diff) | |
download | gdb-003fa0df36e228405bb67069a119408787d7f8c9.zip gdb-003fa0df36e228405bb67069a119408787d7f8c9.tar.gz gdb-003fa0df36e228405bb67069a119408787d7f8c9.tar.bz2 |
[gdb/testsuite] Fix test name in gdb.base/batch-exit-status.exp
When running gdb.base/batch-exit-status.exp I noticed that the test name
contains a newline:
...
PASS: gdb.base/batch-exit-status.exp: : No such file or directory\.^M
: No such file or directory\.: [lindex $result 2] == 0
...
The mistake is that I passed an output regexp argument to a parameter
interpreted as testname prefix. Fix this by passing a testname prefix
instead.
Add support for checking output, to be able to handle the output regexp
argument.
Tested on x86_64-linux.
-rw-r--r-- | gdb/testsuite/gdb.base/batch-exit-status.exp | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/gdb/testsuite/gdb.base/batch-exit-status.exp b/gdb/testsuite/gdb.base/batch-exit-status.exp index 9a08019..520083f 100644 --- a/gdb/testsuite/gdb.base/batch-exit-status.exp +++ b/gdb/testsuite/gdb.base/batch-exit-status.exp @@ -20,7 +20,7 @@ standard_testfile set good_commands "$srcdir/$subdir/batch-exit-status.good-commands" set bad_commands "$srcdir/$subdir/batch-exit-status.bad-commands" -proc _test_exit_status {expect_status cmdline_opts} { +proc _test_exit_status {expect_status cmdline_opts {re ""}} { global gdb_spawn_id gdb_exit @@ -29,7 +29,16 @@ proc _test_exit_status {expect_status cmdline_opts} { return } + set has_re [expr ![string equal $re ""]] + if { ! $has_re } { + set re "\$FOOBAR^" + } + set re_matched 0 gdb_test_multiple "" "run til exit" { + -re $re { + set re_matched 1 + exp_continue + } eof { set result [wait -i $gdb_spawn_id] verbose $result @@ -41,15 +50,18 @@ proc _test_exit_status {expect_status cmdline_opts} { clear_gdb_spawn_id } } + if { $has_re } { + gdb_assert { $re_matched } "output matched" + } } -proc test_exit_status {expect_status cmdline_opts prefix} { +proc test_exit_status {expect_status cmdline_opts prefix args} { if { $prefix == "" } { set prefix $cmdline_opts } with_test_prefix $prefix { - _test_exit_status $expect_status $cmdline_opts + _test_exit_status $expect_status $cmdline_opts {*}$args } } @@ -77,6 +89,8 @@ test_exit_status 1 "-batch -x $good_commands -x $bad_commands" \ test_exit_status 1 "-batch -x $good_commands -ex \"set not-a-thing 4\"" \ "-batch -x good-commands -ex \"set not-a-thing 4\"" -set no_such_re ": No such file or directory\\." -test_exit_status 1 "-batch \"\"" $no_such_re -test_exit_status 1 "-batch \"\" \"\"" [multi_line $no_such_re $no_such_re] +set test "No such file or directory" +set no_such_re ": $test\\." +test_exit_status 1 "-batch \"\"" "1x: $test" ^[multi_line $no_such_re ""]$ +test_exit_status 1 "-batch \"\" \"\"" "2x: $test" \ + ^[multi_line $no_such_re $no_such_re ""]$ |