diff options
author | Pedro Alves <palves@redhat.com> | 2015-07-29 11:09:36 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2015-07-29 11:09:36 +0100 |
commit | 655669183104eb8eab559b5faf2b5a676ab6cd3f (patch) | |
tree | a5b80d0a9a8a7553f5b7217f038eb5908d2ecaed /gdb | |
parent | 11509220a045532b1995b4af5dac2f921b541003 (diff) | |
download | gdb-655669183104eb8eab559b5faf2b5a676ab6cd3f.zip gdb-655669183104eb8eab559b5faf2b5a676ab6cd3f.tar.gz gdb-655669183104eb8eab559b5faf2b5a676ab6cd3f.tar.bz2 |
Don't rely on inferior I/O in gdb.base/siginfo-addr.exp
No point in relying on stdio in this test. Simply run to a breakpoint
instead.
gdb/testsuite/ChangeLog:
2015-07-29 Pedro Alves <palves@redhat.com>
* gdb.base/siginfo-addr.c (pass): New function.
(handler): Call it iff si_addr is correct.
* gdb.base/siginfo-addr.exp: Remove gdb_skip_stdio_test check.
Set a breakpoint at "pass" and continue to it.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/siginfo-addr.c | 9 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/siginfo-addr.exp | 17 |
3 files changed, 16 insertions, 17 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 34f6d8b..9f36af6 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2015-07-29 Pedro Alves <palves@redhat.com> + + * gdb.base/siginfo-addr.c (pass): New function. + (handler): Call it iff si_addr is correct. + * gdb.base/siginfo-addr.exp: Remove gdb_skip_stdio_test check. + Set a breakpoint at "pass" and continue to it. + 2015-07-28 Sergio Durigan Junior <sergiodj@redhat.com> * gdb.python/py-objfile.exp: Make some tests have unique names. diff --git a/gdb/testsuite/gdb.base/siginfo-addr.c b/gdb/testsuite/gdb.base/siginfo-addr.c index a074b4d..c6d8556 100644 --- a/gdb/testsuite/gdb.base/siginfo-addr.c +++ b/gdb/testsuite/gdb.base/siginfo-addr.c @@ -26,13 +26,16 @@ static void *p; +void +pass (void) +{ +} + static void handler (int sig, siginfo_t *info, void *context) { if (info->si_addr == p) - printf ("Correct si_addr value.\n"); - else - printf ("Got si_addr = %p, expected %p.\n", info->si_addr, p); + pass (); _exit (0); } diff --git a/gdb/testsuite/gdb.base/siginfo-addr.exp b/gdb/testsuite/gdb.base/siginfo-addr.exp index 5ac6105..e2f5914 100644 --- a/gdb/testsuite/gdb.base/siginfo-addr.exp +++ b/gdb/testsuite/gdb.base/siginfo-addr.exp @@ -26,11 +26,6 @@ if [target_info exists gdb,nosignals] { continue } -if [gdb_skip_stdio_test "siginfo-addr.exp"] { - continue -} - - standard_testfile if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} { untested "Couldn't compile ${srcfile}.c" @@ -47,13 +42,7 @@ if { ![runto_main] } then { # Run to the signal. gdb_test "continue" ".*Program received signal SIGSEGV.*" "continue to signal" +gdb_breakpoint "pass" + # Check for correct si_addr. -set test "program exit" -gdb_test_multiple "continue" "${test}" { - -re "Correct si_addr" { - pass "si_addr value" - } - -re "Got si_addr" { - fail "si_addr value" - } -} +gdb_test "continue" "Breakpoint .* pass .*" "correct si_addr" |