From dd083ee23d23903e8bc595b64aa8ea62379491cd Mon Sep 17 00:00:00 2001 From: Gary Benson Date: Mon, 3 Sep 2018 16:14:55 +0100 Subject: [PATCH] Fix batch exit status test failure on Fedora 28 This commit adds calls to remote_close and clear_gdb_spawn_id to gdb.base/batch-exit-status.exp, fixing failures reported by buildbot on Fedora 28 where gdb_spawn_id not being reset by the previous test caused default_gdb_spawn to return without spawning. This commit also changes the test to use detect GDB's exit using gdb_test_multiple expecting 'eof', rather than using 'wait -i' alone. This means the testcase won't hang forever on failure as fixed in gdb.base/quit.exp by commit 15763a09d4ae ("Fix 'gdb.base/quit.exp hangs forever' if the test fails"). gdb/testsuite/ChangeLog: * gdb.base/batch-exit-status.exp: Use gdb_test_multiple and expect 'eof' before 'wait -i'. Use remote_close and clear_gdb_spawn_id. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.base/batch-exit-status.exp | 17 ++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 91ab0da1f2..79e57fcd8b 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-09-04 Gary Benson + + * gdb.base/batch-exit-status.exp: Use gdb_test_multiple and expect + 'eof' before 'wait -i'. Use remote_close and clear_gdb_spawn_id. + 2018-08-31 Tom Tromey * gdb.rust/simple.rs: Rename second variable "v". diff --git a/gdb/testsuite/gdb.base/batch-exit-status.exp b/gdb/testsuite/gdb.base/batch-exit-status.exp index bee4d724e6..3b5de5927c 100644 --- a/gdb/testsuite/gdb.base/batch-exit-status.exp +++ b/gdb/testsuite/gdb.base/batch-exit-status.exp @@ -29,11 +29,18 @@ proc _test_exit_status {expect_status cmdline_opts} { return } - set result [wait -i $gdb_spawn_id] - verbose $result - gdb_assert { [lindex $result 2] == 0 } - set actual_status [lindex $result 3] - gdb_assert { $actual_status == $expect_status } + gdb_test_multiple "" "run til exit" { + eof { + set result [wait -i $gdb_spawn_id] + verbose $result + + gdb_assert { [lindex $result 2] == 0 } + gdb_assert { [lindex $result 3] == $expect_status } + + remote_close host + clear_gdb_spawn_id + } + } } proc test_exit_status {expect_status cmdline_opts} { -- 2.34.1