diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/annota1.exp | 29 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/annota3.exp | 28 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/valgrind-db-attach.exp | 3 |
4 files changed, 48 insertions, 21 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 7a8719d..e9191ad 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2011-09-08 Pedro Alves <pedro@codesourcery.com> + + * gdb.base/annota1.exp, gdb.base/annota3.exp: Extract the + inferior's pid and look for a core dump named core.$pid. Use + `remote_file' commands on the host instead of hand coding shell + commands on the build. + * gdb.base/valgrind-db-attach.exp: Kill the program before + finishing the test. + 2011-09-02 Matt Rice <ratmice@gmail.com> * lib/prompt.exp: New file for testing the first prompt. diff --git a/gdb/testsuite/gdb.base/annota1.exp b/gdb/testsuite/gdb.base/annota1.exp index 1517907..9ceeeac 100644 --- a/gdb/testsuite/gdb.base/annota1.exp +++ b/gdb/testsuite/gdb.base/annota1.exp @@ -392,6 +392,17 @@ gdb_test_multiple "next" "breakpoint ignore count" { } } +# Get the inferior's PID for later. + +set test "get inferior pid" +set pid -1 +gdb_test_multiple "info inferior 1" "$test" { + -re "process (\[0-9\]*).*$gdb_prompt$" { + set pid $expect_out(1,string) + pass "$test" + } +} + # # Send a signal that is not handled; test: # annotate-signalled @@ -422,21 +433,17 @@ if [target_info exists gdb,nosignals] { } } - # Check for production of a core file and remove it! -set exec_output [remote_exec build "ls core"] - set test "cleanup core file" -if [ regexp "core not found" $exec_output] { - pass "$test (not dumped)" +if { [remote_file host exists core] } { + remote_file host delete core + pass "$test (removed)" +} elseif { $pid != -1 && [remote_file host exists core.$pid] } { + remote_file host delete core.$pid + pass "$test (removed)" } else { - if [ regexp "No such file or directory" $exec_output] { - pass "$test (not dumped)" - } else { - remote_exec build "rm -f core" - pass "$test (removed)" - } + pass "$test (not dumped)" } proc thread_test {} { diff --git a/gdb/testsuite/gdb.base/annota3.exp b/gdb/testsuite/gdb.base/annota3.exp index 7fd2270..8ec18a9 100644 --- a/gdb/testsuite/gdb.base/annota3.exp +++ b/gdb/testsuite/gdb.base/annota3.exp @@ -365,6 +365,17 @@ gdb_expect_list "breakpoint ignore count" "$gdb_prompt$" { "\r\n\032\032stopped\r\n" } +# Get the inferior's PID for later. + +set test "get inferior pid" +set pid -1 +gdb_test_multiple "info inferior 1" "$test" { + -re "process (\[0-9\]*).*$gdb_prompt$" { + set pid $expect_out(1,string) + pass "$test" + } +} + # # Send a signal that is not handled # @@ -396,18 +407,15 @@ if [target_info exists gdb,nosignals] { # Check for production of a core file and remove it! -set exec_output [remote_exec build "ls core"] - set test "cleanup core file" -if [ regexp "core not found" $exec_output] { - pass "$test (not dumped)" +if { [remote_file host exists core] } { + remote_file host delete core + pass "$test (removed)" +} elseif { $pid != -1 && [remote_file host exists core.$pid] } { + remote_file host delete core.$pid + pass "$test (removed)" } else { - if [ regexp "No such file or directory" $exec_output] { - pass "$test (not dumped)" - } else { - remote_exec build "rm -f core" - pass "$test (removed)" - } + pass "$test (not dumped)" } # restore the original prompt for the rest of the testsuite diff --git a/gdb/testsuite/gdb.base/valgrind-db-attach.exp b/gdb/testsuite/gdb.base/valgrind-db-attach.exp index 48003e5..98cc07a 100644 --- a/gdb/testsuite/gdb.base/valgrind-db-attach.exp +++ b/gdb/testsuite/gdb.base/valgrind-db-attach.exp @@ -83,3 +83,6 @@ gdb_test_no_output "set height 0" gdb_test_no_output "set width 0" gdb_test "bt" "in main \\(.*\\) at .*${srcfile}:$double_free" + +# Explicitly kill the program so it doesn't dump core when we quit->detach. +gdb_test "kill" "" "kill program" "Kill the program being debugged.*y or n. $" "y" |