aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2011-09-08 14:56:34 +0000
committerPedro Alves <palves@redhat.com>2011-09-08 14:56:34 +0000
commita391a2f6df2553b9d2e0cf4bc8c58e85d73137ae (patch)
tree01993cb0c399757ca76dc58f90520629c8a3ccfa /gdb/testsuite
parent85bc8cb7855e8ae9ba6e207ed557f849479c41c0 (diff)
downloadgdb-a391a2f6df2553b9d2e0cf4bc8c58e85d73137ae.zip
gdb-a391a2f6df2553b9d2e0cf4bc8c58e85d73137ae.tar.gz
gdb-a391a2f6df2553b9d2e0cf4bc8c58e85d73137ae.tar.bz2
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.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog9
-rw-r--r--gdb/testsuite/gdb.base/annota1.exp29
-rw-r--r--gdb/testsuite/gdb.base/annota3.exp28
-rw-r--r--gdb/testsuite/gdb.base/valgrind-db-attach.exp3
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"