diff options
author | Andrew Cagney <cagney@redhat.com> | 2004-09-08 22:00:47 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2004-09-08 22:00:47 +0000 |
commit | e05b62ac692a61c2d2bb603be45b5118b427e9e2 (patch) | |
tree | cd8855b8504e0c9e48469b88698d7ce8148dc5d4 /gdb/testsuite/gdb.base/signals.exp | |
parent | 7b90c3f96efc132cac934b3f2b43da899d46eae0 (diff) | |
download | gdb-e05b62ac692a61c2d2bb603be45b5118b427e9e2.zip gdb-e05b62ac692a61c2d2bb603be45b5118b427e9e2.tar.gz gdb-e05b62ac692a61c2d2bb603be45b5118b427e9e2.tar.bz2 |
2004-09-08 Andrew Cagney <cagney@gnu.org>
* gdb.base/signals.exp (signal_tests_1): Delete. Merge signal
delivery test with duplicate at end of file.
Diffstat (limited to 'gdb/testsuite/gdb.base/signals.exp')
-rw-r--r-- | gdb/testsuite/gdb.base/signals.exp | 119 |
1 files changed, 4 insertions, 115 deletions
diff --git a/gdb/testsuite/gdb.base/signals.exp b/gdb/testsuite/gdb.base/signals.exp index 09354a2..cbe00bf 100644 --- a/gdb/testsuite/gdb.base/signals.exp +++ b/gdb/testsuite/gdb.base/signals.exp @@ -45,116 +45,6 @@ if {$hp_cc_compiler} { set void void } -proc signal_tests_1 {} { - global gdb_prompt - if [runto_main] then { - gdb_test "next" "signal \\(SIGUSR1.*" \ - "next over signal call; SIGALRM handler" - gdb_test "next" "alarm \\(.*" \ - "next over signal call; SIGUSR1 handler" - - # Set up an alarm, wait for it to be come pending then do a - # next to see what happens. - - gdb_test "next" "\\+\\+count; /\\* first \\*/" \ - "next over 1st alarm" - sleep 2 - gdb_test "next" "alarm .*" \ - "next over first count and SIGALRM to 2nd alarm" - - # Now do the same thing but with a breakpoint in the SIGALRM - # handler so that we stop there. - - gdb_test "break handler" "Breakpoint \[0-9\]+ .*" - gdb_test "next" "\\+\\+count; /\\* second \\*/" \ - "next over 2nd alarm" - sleep 2 - gdb_test "next" "Breakpoint.*handler.*" \ - "next over second count, but jump to handler" - gdb_test "backtrace" \ - "#0.*handler.*#1.*signal handler.*#2.* main .*" \ - "backtrace for 2nd alarm" - - # Let the signal handler return allowing main to advance to - # func1. - - gdb_test "break func1" "Breakpoint \[0-9\]+ .*" - gdb_test "break func2" "Breakpoint \[0-9\]+ .*" - gdb_test "continue" "Breakpoint.*func1.*" "continue to func1" - - # While still in func1, force a signal, check the backtrace. - - gdb_test "signal SIGUSR1" "Breakpoint.*handler.*" - gdb_test "bt" \ - "#0 handler .*#1 .signal handler called.*#2 func1 .*\#3 .*main.*" \ - "backtrace for SIGUSR1" - - # The problem here is that the breakpoint at func1 will be - # inserted, and when the system finishes with the signal - # handler it will try to execute there. For GDB to try to - # remember that it was going to step over a breakpoint when a - # signal happened, distinguish this case from the case where - # func1 is called from the signal handler, etc., seems - # exceedingly difficult. So don't expect this to get fixed - # anytime soon. - - setup_xfail "*-*-*" - set test "continue to func2" - gdb_test_multiple "continue" "$test" { - -re "Breakpoint.*func2.*$gdb_prompt $" { - pass "$test" - } - -re "Breakpoint.*func1.*$gdb_prompt $" { - fail "$test" - gdb_test "continue" "Breakpoint.*func2.*" \ - "extra continue to func2" - } - } - - # In running to func2, the 2rd alarm call will have been set - # up, let it be delivered. - - # This doesn't work correctly on platforms with hardware single - # step... - - sleep 2 - - setup_kfail "i*86-*-*" gdb/1738 - setup_kfail "x86_64-*-*" gdb/1738 - setup_kfail "rs6000-*-*" gdb/1738 - setup_kfail "powerpc-*-*" gdb/1738 - setup_kfail "sparc-*-*" gdb/1738 - gdb_test "continue" "Breakpoint.*handler.*" \ - "continue to handler for 3rd alarm call" - - setup_kfail "i*86-*-*" gdb/1738 - setup_kfail "x86_64-*-*" gdb/1738 - setup_kfail "rs6000-*-*" gdb/1738 - setup_kfail "powerpc-*-*" gdb/1738 - setup_kfail "sparc-*-*" gdb/1738 - gdb_test "backtrace" \ - "#0 handler.*#1.*signal handler called.*#2 func2.*#3.*main.*" \ - "backtrace for 3rd alarm" - - # If we succeeded a continue will return from the handler to - # func2. GDB now has `forgotten' that it intended to step - # over the breakpoint at func2 and will stop at func2. - - setup_xfail "*-*-*" - set test "continue to program exit" - gdb_test_multiple "continue" "$test" { - -re "Program exited with code 010\\." { - pass "$test" - } - -re "Breakpoint.*func2.*$gdb_prompt $" { - fail "$test" - gdb_test "continue" "Program exited with code 010\\." \ - "extra continue to program exit" - } - } - } -} - gdb_exit gdb_start @@ -185,7 +75,6 @@ gdb_exit gdb_start gdb_reinitialize_dir $srcdir/$subdir gdb_load $binfile -signal_tests_1 if [runto_main] then { @@ -378,10 +267,10 @@ The program being debugged stopped while in a function called from GDB.*" \ # the inferior. (This probably causes the inferior to run away. # Be prepared to rerun to main for further testing.) - gdb_test "signal 5" \ - "Continuing with signal SIGTRAP.*" \ - "sent signal 5" - + gdb_test "signal SIGUSR1" "Breakpoint.*handler.*" + gdb_test "bt" \ + "#0 handler .*#1 .signal handler called.*\#2 .*main.*" \ + "backtrace for SIGUSR1" } return 0 |