From 5ed7a928acc231ccd13af71cf6df9900250cf884 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Thu, 9 Nov 2017 22:44:09 +0000 Subject: [PATCH] Fix racy output matching in gdb.base/multi-attach.exp, gdb.server/ext-{attach, restart, ext-run}.exp This commit fixes this same problem in several places: (gdb) PASS: gdb.multi/multi-attach.exp: backtrace 2 kill Kill the program being debugged? (y or n) y (gdb) FAIL: gdb.multi/multi-attach.exp: kill inferior 2 (got interactive prompt) This is just another case of the gdb_test_multiple's internal "got interactive prompt" pattern matching because the testcase misses matching enough. gdb/testsuite/ChangeLog: 2017-11-09 Pedro Alves * gdb.multi/multi-attach.exp ("kill" test): Match the whole query output. * gdb.server/ext-attach.exp ("kill" test): Likewise. * gdb.server/ext-restart.exp ("kill" test): Likewise. * gdb.server/ext-run.exp ("kill" test): Likewise. * gdb.server/ext-wrapper.exp ("kill" test): Likewise. --- gdb/testsuite/ChangeLog | 9 +++++++++ gdb/testsuite/gdb.multi/multi-attach.exp | 4 ++-- gdb/testsuite/gdb.server/ext-attach.exp | 2 +- gdb/testsuite/gdb.server/ext-restart.exp | 2 +- gdb/testsuite/gdb.server/ext-run.exp | 2 +- gdb/testsuite/gdb.server/ext-wrapper.exp | 2 +- 6 files changed, 15 insertions(+), 6 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index c6c5260..967ef89 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,14 @@ 2017-11-09 Pedro Alves + * gdb.multi/multi-attach.exp ("kill" test): Match the whole query + output. + * gdb.server/ext-attach.exp ("kill" test): Likewise. + * gdb.server/ext-restart.exp ("kill" test): Likewise. + * gdb.server/ext-run.exp ("kill" test): Likewise. + * gdb.server/ext-wrapper.exp ("kill" test): Likewise. + +2017-11-09 Pedro Alves + * gdb.cp/cpcompletion.exp (test_class_complete): Tighten regex to match till end of line. diff --git a/gdb/testsuite/gdb.multi/multi-attach.exp b/gdb/testsuite/gdb.multi/multi-attach.exp index 4240ff7..9397f85 100644 --- a/gdb/testsuite/gdb.multi/multi-attach.exp +++ b/gdb/testsuite/gdb.multi/multi-attach.exp @@ -51,9 +51,9 @@ gdb_test "attach $testpid2" \ "attach to program 2" gdb_test "backtrace" ".*main.*" "backtrace 2" -gdb_test "kill" "" "kill inferior 2" "Kill the program being debugged.*" "y" +gdb_test "kill" "" "kill inferior 2" "Kill the program being debugged. .y or n. " "y" gdb_test "inferior 1" ".*Switching to inferior 1.*" -gdb_test "kill" "" "kill inferior 1" "Kill the program being debugged.*" "y" +gdb_test "kill" "" "kill inferior 1" "Kill the program being debugged. .y or n. " "y" kill_wait_spawned_process $test_spawn_id1 kill_wait_spawned_process $test_spawn_id2 diff --git a/gdb/testsuite/gdb.server/ext-attach.exp b/gdb/testsuite/gdb.server/ext-attach.exp index f3e992a..881c636 100644 --- a/gdb/testsuite/gdb.server/ext-attach.exp +++ b/gdb/testsuite/gdb.server/ext-attach.exp @@ -68,7 +68,7 @@ gdb_test "attach $testpid" \ "attach to remote program 2" gdb_test "backtrace" ".*main.*" "backtrace 2" -gdb_test "kill" "" "kill" "Kill the program being debugged.*" "y" +gdb_test "kill" "" "kill" "Kill the program being debugged. .y or n. " "y" gdb_test_no_output "monitor exit" kill_wait_spawned_process $test_spawn_id diff --git a/gdb/testsuite/gdb.server/ext-restart.exp b/gdb/testsuite/gdb.server/ext-restart.exp index 44c9b1f..d28ce47 100644 --- a/gdb/testsuite/gdb.server/ext-restart.exp +++ b/gdb/testsuite/gdb.server/ext-restart.exp @@ -60,6 +60,6 @@ with_test_prefix "restart" { } } -gdb_test "kill" "" "kill" "Kill the program being debugged.*" "y" +gdb_test "kill" "" "kill" "Kill the program being debugged. .y or n. " "y" gdb_test_no_output "monitor exit" diff --git a/gdb/testsuite/gdb.server/ext-run.exp b/gdb/testsuite/gdb.server/ext-run.exp index cdb1695..d8b3e92 100644 --- a/gdb/testsuite/gdb.server/ext-run.exp +++ b/gdb/testsuite/gdb.server/ext-run.exp @@ -61,7 +61,7 @@ if { [istarget *-*-linux*] } { } } -gdb_test "kill" "" "kill" "Kill the program being debugged.*" "y" +gdb_test "kill" "" "kill" "Kill the program being debugged. .y or n. " "y" gdb_load $binfile gdb_test "monitor help" "The following monitor commands.*" \ diff --git a/gdb/testsuite/gdb.server/ext-wrapper.exp b/gdb/testsuite/gdb.server/ext-wrapper.exp index 8b1af7b..b195ae7 100644 --- a/gdb/testsuite/gdb.server/ext-wrapper.exp +++ b/gdb/testsuite/gdb.server/ext-wrapper.exp @@ -65,6 +65,6 @@ with_test_prefix "restart" { gdb_test "print d" "\\$${decimal} = ${hex} \"1\".*" } -gdb_test "kill" "" "kill" "Kill the program being debugged.*" "y" +gdb_test "kill" "" "kill" "Kill the program being debugged. .y or n. " "y" gdb_test_no_output "monitor exit" -- 2.7.4