This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[patch/testsuite] annota1.exp, annota3.exp: respect nosignals
- From: mec dot gnu at mindspring dot com (Michael Elizabeth Chastain)
- To: gdb-patches at sources dot redhat dot com, jimb at redhat dot com
- Date: Sun, 18 Jul 2004 20:20:24 -0400 (EDT)
- Subject: [patch/testsuite] annota1.exp, annota3.exp: respect nosignals
This patch enhanches gdb.base/annota1.exp and gdb.base/annota3.exp
to honor "gdb,nosignals".
This is based on an earlier patch by Jim Blandy:
http://sources.redhat.com/gdb/bugs/740
RFA: respect `nosignals' setting in annota1.exp.
When the tests are suppressed, I return an UNSUPPORTED.
Testing: I tested this on native i686-pc-linux-gnu. It behaves the same
with default settings (signals enabled). Then I changed dejagnu's
baseboards/unix.exp to say "set_board_info gdb,nosignals 1" and the
six signals tests came up UNSUPPORTED.
I'll give this 24 hours for comment and then commit it.
Michael C
2004-07-18 Michael Chastain <mec.gnu@mindspring.com>
Fix PR cli/740.
* gdb.base/annota1.exp: Honor gdb,nosignals.
* gdb.base/annota3.exp: Likewise.
Index: gdb.base/annota1.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/annota1.exp,v
retrieving revision 1.15
diff -c -3 -p -r1.15 annota1.exp
*** gdb.base/annota1.exp 13 Jul 2004 13:10:53 -0000 1.15
--- gdb.base/annota1.exp 19 Jul 2004 00:15:40 -0000
*************** gdb_expect {
*** 269,303 ****
# annotate-arg-value
# annotate-arg-end
#
- send_gdb "signal SIGUSR1\n"
- gdb_expect {
- -re "\r\n\032\032post-prompt\r\nContinuing with signal SIGUSR1.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032breakpoint 2\r\n\r\nBreakpoint 2, \r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nhandle_USR1\r\n\032\032frame-args\r\n \\(\r\n\032\032arg-begin\r\nsig\r\n\032\032arg-name-end\r\n=\r\n\032\032arg-value -\r\n$decimal\r\n\032\032arg-end\r\n\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n${escapedsrcfile}\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n.*\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source.*annota1.c:.*:.*:beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \
- { pass "send SIGUSR1" }
- -re "\r\n\032\032post-prompt\r\nContinuing with signal SIGUSR1.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032breakpoint 2\r\n\r\nBreakpoint 2, \r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nhandle_USR1\r\n\032\032frame-args\r\n \\(\r\n\032\032arg-begin\r\nsig\r\n\032\032arg-name-end\r\n=\r\n\032\032arg-value -\r\n$decimal\r\n\032\032arg-end\r\n\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n.*${srcfile}\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n.*\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source.*annota1.c:.*:.*:beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \
- { setup_xfail "*-*-*" 1270
- fail "send SIGUSR1" }
- -re ".*$gdb_prompt$" { fail "send SIGUSR1" }
- timeout { fail "send SIGUSR1 (timeout)" }
- }
-
! #
! # test:
! # annotate-signal-handler-caller
! #
! verbose "match_max local is: [match_max]"
! verbose "match_max default is: [match_max -d]"
! # This is necessary because a 2000 buffer is not enought to get everything
! # up to the prompt ad the test gets a timeout.
! match_max 3000
! verbose "match_max now is: [match_max]"
! send_gdb "backtrace\n"
! gdb_expect {
! -re "frame-begin 0 $hex\r\n#0.*frame-end.*frame-begin 1 $hex\r\n#1.*(\032\032signal-handler-caller\r\n.signal handler called.\r\n\r\n)+\032\032frame-end\r\n\r\n\032\032frame-begin 2 $hex\r\n#2.*(frame-begin 3 $hex\r\n#3.*)*frame-end.*$gdb_prompt$" {
! pass "backtrace @ signal handler"
}
- -re ".*$gdb_prompt$" { fail "backtrace @ signal handler" }
- timeout { fail "backtrace @ signal handler (timeout)" }
}
#
--- 269,308 ----
# annotate-arg-value
# annotate-arg-end
#
! if [target_info exists gdb,nosignals] {
! unsupported "send SIGUSR1"
! unsupported "backtrace @ signal handler"
! } else {
! send_gdb "signal SIGUSR1\n"
! gdb_expect {
! -re "\r\n\032\032post-prompt\r\nContinuing with signal SIGUSR1.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032breakpoint 2\r\n\r\nBreakpoint 2, \r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nhandle_USR1\r\n\032\032frame-args\r\n \\(\r\n\032\032arg-begin\r\nsig\r\n\032\032arg-name-end\r\n=\r\n\032\032arg-value -\r\n$decimal\r\n\032\032arg-end\r\n\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n${escapedsrcfile}\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n.*\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source.*annota1.c:.*:.*:beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \
! { pass "send SIGUSR1" }
! -re "\r\n\032\032post-prompt\r\nContinuing with signal SIGUSR1.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032breakpoint 2\r\n\r\nBreakpoint 2, \r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nhandle_USR1\r\n\032\032frame-args\r\n \\(\r\n\032\032arg-begin\r\nsig\r\n\032\032arg-name-end\r\n=\r\n\032\032arg-value -\r\n$decimal\r\n\032\032arg-end\r\n\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n.*${srcfile}\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n.*\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source.*annota1.c:.*:.*:beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \
! { setup_xfail "*-*-*" 1270
! fail "send SIGUSR1" }
! -re ".*$gdb_prompt$" { fail "send SIGUSR1" }
! timeout { fail "send SIGUSR1 (timeout)" }
! }
!
! #
! # test:
! # annotate-signal-handler-caller
! #
! verbose "match_max local is: [match_max]"
! verbose "match_max default is: [match_max -d]"
! # This is necessary because a 2000 buffer is not enought to get everything
! # up to the prompt ad the test gets a timeout.
! match_max 3000
! verbose "match_max now is: [match_max]"
! send_gdb "backtrace\n"
! gdb_expect {
! -re "frame-begin 0 $hex\r\n#0.*frame-end.*frame-begin 1 $hex\r\n#1.*(\032\032signal-handler-caller\r\n.signal handler called.\r\n\r\n)+\032\032frame-end\r\n\r\n\032\032frame-begin 2 $hex\r\n#2.*(frame-begin 3 $hex\r\n#3.*)*frame-end.*$gdb_prompt$" {
! pass "backtrace @ signal handler"
! }
! -re ".*$gdb_prompt$" { fail "backtrace @ signal handler" }
! timeout { fail "backtrace @ signal handler (timeout)" }
}
}
#
*************** gdb_expect {
*** 446,458 ****
# It has been verified that other signals will be delivered. However,
# rather than twiddle the test, I choose to leave it as-is as it
# exposes an interesting failure on hpux11.
! setup_xfail hppa*-*-hpux11*
! send_gdb "signal SIGTRAP\n"
! gdb_expect {
! -re ".*\032\032post-prompt\r\nContinuing with signal SIGTRAP.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032signalled\r\n\r\nProgram terminated with signal \r\n\032\032signal-name\r\nSIGTRAP\r\n\032\032signal-name-end\r\n, \r\n\032\032signal-string\r\nTrace.breakpoint trap\r\n\032\032signal-string-end\r\n.\r\nThe program no longer exists.\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \
! { pass "signal sent" }
! -re ".*$gdb_prompt$" { fail "signal sent" }
! timeout { fail "signal sent (timeout)" }
}
--- 451,468 ----
# It has been verified that other signals will be delivered. However,
# rather than twiddle the test, I choose to leave it as-is as it
# exposes an interesting failure on hpux11.
!
! if [target_info exists gdb,nosignals] {
! unsupported "signal sent"
! } else {
! setup_xfail hppa*-*-hpux11*
! send_gdb "signal SIGTRAP\n"
! gdb_expect {
! -re ".*\032\032post-prompt\r\nContinuing with signal SIGTRAP.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032signalled\r\n\r\nProgram terminated with signal \r\n\032\032signal-name\r\nSIGTRAP\r\n\032\032signal-name-end\r\n, \r\n\032\032signal-string\r\nTrace.breakpoint trap\r\n\032\032signal-string-end\r\n.\r\nThe program no longer exists.\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \
! { pass "signal sent" }
! -re ".*$gdb_prompt$" { fail "signal sent" }
! timeout { fail "signal sent (timeout)" }
! }
}
Index: gdb.base/annota3.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/annota3.exp,v
retrieving revision 1.4
diff -c -3 -p -r1.4 annota3.exp
*** gdb.base/annota3.exp 13 Jul 2004 13:10:54 -0000 1.4
--- gdb.base/annota3.exp 19 Jul 2004 00:15:40 -0000
*************** gdb_expect_list "backtrace from shlibrar
*** 217,250 ****
#
# test printing a frame with some arguments:
#
- send_gdb "signal SIGUSR1\n"
- gdb_expect_list "send SIGUSR1" "$gdb_prompt$" {
- "\r\n\032\032post-prompt\r\n"
- "Continuing with signal SIGUSR1.\r\n"
- "\r\n\032\032starting\r\n"
- "\r\n\032\032frames-invalid\r\n"
- "\r\n\032\032breakpoint 2\r\n"
- "Breakpoint 2, handle_USR1 \\(sig=\[0-9\]+\\) at .*annota3.c:\[0-9\]+\r\n"
- "\r\n\032\032source .*annota3.c:\[0-9\]+:\[0-9\]+:beg:0x\[0-9a-z\]+\r\n"
- "\r\n\032\032stopped\r\n"
- }
! #
! # test:
! #
! verbose "match_max local is: [match_max]"
! verbose "match_max default is: [match_max -d]"
! # This is necessary because a 2000 buffer is not enought to get everything
! # up to the prompt ad the test gets a timeout.
! match_max 3000
! verbose "match_max now is: [match_max]"
! send_gdb "backtrace\n"
! gdb_expect_list "backtrace @ signal handler" "$gdb_prompt$" {
! "#0 +handle_USR1 \[^\r\n\]+\r\n"
! "#1 +.signal handler called.\r\n"
! "#2 .* printf \[^\r\n\]+\r\n"
! "#3 .* main \[^\r\n\]+\r\n"
}
#
--- 217,255 ----
#
# test printing a frame with some arguments:
#
+ if [target_info exists gdb,nosignals] {
+ unsupported "send SIGUSR1"
+ unsupported "backtrace @ signal handler"
+ } else {
+ send_gdb "signal SIGUSR1\n"
+ gdb_expect_list "send SIGUSR1" "$gdb_prompt$" {
+ "\r\n\032\032post-prompt\r\n"
+ "Continuing with signal SIGUSR1.\r\n"
+ "\r\n\032\032starting\r\n"
+ "\r\n\032\032frames-invalid\r\n"
+ "\r\n\032\032breakpoint 2\r\n"
+ "Breakpoint 2, handle_USR1 \\(sig=\[0-9\]+\\) at .*annota3.c:\[0-9\]+\r\n"
+ "\r\n\032\032source .*annota3.c:\[0-9\]+:\[0-9\]+:beg:0x\[0-9a-z\]+\r\n"
+ "\r\n\032\032stopped\r\n"
+ }
! #
! # test:
! #
! verbose "match_max local is: [match_max]"
! verbose "match_max default is: [match_max -d]"
! # This is necessary because a 2000 buffer is not enought to get everything
! # up to the prompt ad the test gets a timeout.
! match_max 3000
! verbose "match_max now is: [match_max]"
! send_gdb "backtrace\n"
! gdb_expect_list "backtrace @ signal handler" "$gdb_prompt$" {
! "#0 +handle_USR1 \[^\r\n\]+\r\n"
! "#1 +.signal handler called.\r\n"
! "#2 .* printf \[^\r\n\]+\r\n"
! "#3 .* main \[^\r\n\]+\r\n"
! }
}
#
*************** gdb_expect_list "breakpoint ignore count
*** 369,386 ****
# It has been verified that other signals will be delivered. However,
# rather than twiddle the test, I choose to leave it as-is as it
# exposes an interesting failure on hpux11.
! setup_xfail hppa*-*-hpux11*
! send_gdb "signal SIGTRAP\n"
! gdb_expect_list "signal sent" "$gdb_prompt$" {
! "\r\n\032\032post-prompt\r\n"
! "Continuing with signal SIGTRAP.\r\n"
! "\r\n\032\032starting\r\n"
! "\r\n\032\032frames-invalid\r\n"
! "\r\n\032\032frames-invalid\r\n"
! "\r\n\032\032signalled\r\n"
! "\r\nProgram terminated with signal SIGTRAP, Trace.breakpoint trap.\r\n"
! "The program no longer exists.\r\n"
! "\r\n\032\032stopped\r\n"
}
--- 374,396 ----
# It has been verified that other signals will be delivered. However,
# rather than twiddle the test, I choose to leave it as-is as it
# exposes an interesting failure on hpux11.
!
! if [target_info exists gdb,nosignals] {
! unsupported "signal sent"
! } else {
! setup_xfail hppa*-*-hpux11*
! send_gdb "signal SIGTRAP\n"
! gdb_expect_list "signal sent" "$gdb_prompt$" {
! "\r\n\032\032post-prompt\r\n"
! "Continuing with signal SIGTRAP.\r\n"
! "\r\n\032\032starting\r\n"
! "\r\n\032\032frames-invalid\r\n"
! "\r\n\032\032frames-invalid\r\n"
! "\r\n\032\032signalled\r\n"
! "\r\nProgram terminated with signal SIGTRAP, Trace.breakpoint trap.\r\n"
! "The program no longer exists.\r\n"
! "\r\n\032\032stopped\r\n"
! }
}