diff options
author | Pedro Alves <palves@redhat.com> | 2012-07-19 14:33:19 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2012-07-19 14:33:19 +0000 |
commit | b1e0c0fa45dd11ac221adf99789aaaa8517a7b47 (patch) | |
tree | f8530270207620e18b47fa673d247fe1f4be1926 /gdb/testsuite/gdb.reverse | |
parent | ff688e1f8e3d04ed6ffeb5d1a8aa8f962967324c (diff) | |
download | gdb-b1e0c0fa45dd11ac221adf99789aaaa8517a7b47.zip gdb-b1e0c0fa45dd11ac221adf99789aaaa8517a7b47.tar.gz gdb-b1e0c0fa45dd11ac221adf99789aaaa8517a7b47.tar.bz2 |
2012-07-19 Pedro Alves <palves@redhat.com>
* gdb.base/sigall.exp (signals): New list.
<top level>: Loop over signals in the $signals list instead of
calling a test function once per signal.
* gdb.reverse/sigall-precsave.exp (signals): New list.
<top level>: Loop over signals in the $signals list instead of
calling a test function once per signal.
* gdb.reverse/sigall-reverse.exp (signals): New list.
<top level>: Loop over signals in the $signals list instead of
calling a test function once per signal.
Diffstat (limited to 'gdb/testsuite/gdb.reverse')
-rw-r--r-- | gdb/testsuite/gdb.reverse/sigall-precsave.exp | 316 | ||||
-rw-r--r-- | gdb/testsuite/gdb.reverse/sigall-reverse.exp | 317 |
2 files changed, 203 insertions, 430 deletions
diff --git a/gdb/testsuite/gdb.reverse/sigall-precsave.exp b/gdb/testsuite/gdb.reverse/sigall-precsave.exp index 465e3cc..e2dabf9 100644 --- a/gdb/testsuite/gdb.reverse/sigall-precsave.exp +++ b/gdb/testsuite/gdb.reverse/sigall-precsave.exp @@ -34,10 +34,6 @@ if {[build_executable $testfile.exp $testfile $srcfile debug] == -1} { return -1 } -# Make the first signal SIGABRT because it is always supported. -set sig_supported 1 -set thissig "ABRT" - proc test_one_sig {nextsig} { global sig_supported global gdb_prompt @@ -182,6 +178,82 @@ gdb_test "break $breakloc" \ # Signal handlers must be disabled gdb_test "handle all nostop noprint" +# The list of signals that the program generates, in the order they +# are generated. +set signals { + ABRT + HUP + QUIT + ILL + EMT + FPE + BUS + SEGV + SYS + PIPE + ALRM + URG + TSTP + CONT + CHLD + TTIN + TTOU + IO + XCPU + XFSZ + VTALRM + PROF + WINCH + LOST + USR1 + USR2 + PWR + POLL + WIND + PHONE + WAITING + LWP + DANGER + GRANT + RETRACT + MSG + SOUND + SAK + PRIO + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + TERM +} + gdb_test "continue" "Breakpoint .* end of main .*" "run to end of main" gdb_test "record save $precsave" \ @@ -198,77 +270,20 @@ gdb_test "record restore $precsave" \ # Signal handlers must be re-enabled gdb_test "handle all stop print" +# Make the first signal SIGABRT because it is always supported. +set sig_supported 1 +set thissig "ABRT" + # test signal handling -test_one_sig HUP -test_one_sig QUIT -test_one_sig ILL -test_one_sig EMT -test_one_sig FPE -test_one_sig BUS -test_one_sig SEGV -test_one_sig SYS -test_one_sig PIPE -test_one_sig ALRM -test_one_sig URG -test_one_sig TSTP -test_one_sig CONT -test_one_sig CHLD -test_one_sig TTIN -test_one_sig TTOU -test_one_sig IO -test_one_sig XCPU -test_one_sig XFSZ -test_one_sig VTALRM -test_one_sig PROF -test_one_sig WINCH -test_one_sig LOST -test_one_sig USR1 -test_one_sig USR2 -test_one_sig PWR -test_one_sig POLL -test_one_sig WIND -test_one_sig PHONE -test_one_sig WAITING -test_one_sig LWP -test_one_sig DANGER -test_one_sig GRANT -test_one_sig RETRACT -test_one_sig MSG -test_one_sig SOUND -test_one_sig SAK -test_one_sig PRIO -test_one_sig 33 -test_one_sig 34 -test_one_sig 35 -test_one_sig 36 -test_one_sig 37 -test_one_sig 38 -test_one_sig 39 -test_one_sig 40 -test_one_sig 41 -test_one_sig 42 -test_one_sig 43 -test_one_sig 44 -test_one_sig 45 -test_one_sig 46 -test_one_sig 47 -test_one_sig 48 -test_one_sig 49 -test_one_sig 50 -test_one_sig 51 -test_one_sig 52 -test_one_sig 53 -test_one_sig 54 -test_one_sig 55 -test_one_sig 56 -test_one_sig 57 -test_one_sig 58 -test_one_sig 59 -test_one_sig 60 -test_one_sig 61 -test_one_sig 62 -test_one_sig 63 -test_one_sig TERM +for {set i 0;} {$i < [llength $signals]} {incr i;} { + # Skip the first. + if { $i == 0 } { + continue + } + + set sig [lindex $signals $i] + test_one_sig $sig +} # The last signal (SIGTERM) gets handled slightly differently because # we are not setting up for another test. @@ -282,149 +297,20 @@ gdb_test "continue" "Breakpoint.*handle_TERM.*" "send signal TERM" gdb_test "continue" " end of main .*" "continue to sigall exit" -test_one_sig_reverse TERM -test_one_sig_reverse 63 -test_one_sig_reverse 62 -test_one_sig_reverse 61 -test_one_sig_reverse 60 -test_one_sig_reverse 59 -test_one_sig_reverse 58 -test_one_sig_reverse 57 -test_one_sig_reverse 56 -test_one_sig_reverse 55 -test_one_sig_reverse 54 -test_one_sig_reverse 53 -test_one_sig_reverse 52 -test_one_sig_reverse 51 -test_one_sig_reverse 50 -test_one_sig_reverse 49 -test_one_sig_reverse 48 -test_one_sig_reverse 47 -test_one_sig_reverse 46 -test_one_sig_reverse 45 -test_one_sig_reverse 44 -test_one_sig_reverse 43 -test_one_sig_reverse 42 -test_one_sig_reverse 41 -test_one_sig_reverse 40 -test_one_sig_reverse 39 -test_one_sig_reverse 38 -test_one_sig_reverse 37 -test_one_sig_reverse 36 -test_one_sig_reverse 35 -test_one_sig_reverse 34 -test_one_sig_reverse 33 -test_one_sig_reverse PRIO -test_one_sig_reverse SAK -test_one_sig_reverse SOUND -test_one_sig_reverse MSG -test_one_sig_reverse RETRACT -test_one_sig_reverse GRANT -test_one_sig_reverse DANGER -test_one_sig_reverse LWP -test_one_sig_reverse WAITING -test_one_sig_reverse PHONE -test_one_sig_reverse WIND -test_one_sig_reverse POLL -test_one_sig_reverse PWR -test_one_sig_reverse USR2 -test_one_sig_reverse USR1 -test_one_sig_reverse LOST -test_one_sig_reverse WINCH -test_one_sig_reverse PROF -test_one_sig_reverse VTALRM -test_one_sig_reverse XFSZ -test_one_sig_reverse XCPU -test_one_sig_reverse IO -test_one_sig_reverse TTOU -test_one_sig_reverse TTIN -test_one_sig_reverse CHLD -test_one_sig_reverse CONT -test_one_sig_reverse TSTP -test_one_sig_reverse URG -test_one_sig_reverse ALRM -test_one_sig_reverse PIPE -test_one_sig_reverse SYS -test_one_sig_reverse SEGV -test_one_sig_reverse BUS -test_one_sig_reverse FPE -test_one_sig_reverse EMT -test_one_sig_reverse ILL -test_one_sig_reverse QUIT -test_one_sig_reverse HUP -test_one_sig_reverse ABRT +foreach sig [lreverse $signals] { + test_one_sig_reverse $sig +} # Make the first signal SIGABRT because it is always supported. set sig_supported 1 set thissig "ABRT" -test_one_sig HUP -test_one_sig QUIT -test_one_sig ILL -test_one_sig EMT -test_one_sig FPE -test_one_sig BUS -test_one_sig SEGV -test_one_sig SYS -test_one_sig PIPE -test_one_sig ALRM -test_one_sig URG -test_one_sig TSTP -test_one_sig CONT -test_one_sig CHLD -test_one_sig TTIN -test_one_sig TTOU -test_one_sig IO -test_one_sig XCPU -test_one_sig XFSZ -test_one_sig VTALRM -test_one_sig PROF -test_one_sig WINCH -test_one_sig LOST -test_one_sig USR1 -test_one_sig USR2 -test_one_sig PWR -test_one_sig POLL -test_one_sig WIND -test_one_sig PHONE -test_one_sig WAITING -test_one_sig LWP -test_one_sig DANGER -test_one_sig GRANT -test_one_sig RETRACT -test_one_sig MSG -test_one_sig SOUND -test_one_sig SAK -test_one_sig PRIO -test_one_sig 33 -test_one_sig 34 -test_one_sig 35 -test_one_sig 36 -test_one_sig 37 -test_one_sig 38 -test_one_sig 39 -test_one_sig 40 -test_one_sig 41 -test_one_sig 42 -test_one_sig 43 -test_one_sig 44 -test_one_sig 45 -test_one_sig 46 -test_one_sig 47 -test_one_sig 48 -test_one_sig 49 -test_one_sig 50 -test_one_sig 51 -test_one_sig 52 -test_one_sig 53 -test_one_sig 54 -test_one_sig 55 -test_one_sig 56 -test_one_sig 57 -test_one_sig 58 -test_one_sig 59 -test_one_sig 60 -test_one_sig 61 -test_one_sig 62 -test_one_sig 63 -test_one_sig TERM +for {set i 0;} {$i < [llength $signals]} {incr i;} { + # Skip the first. + if { $i == 0 } { + continue + } + + set sig [lindex $signals $i] + test_one_sig $sig +} diff --git a/gdb/testsuite/gdb.reverse/sigall-reverse.exp b/gdb/testsuite/gdb.reverse/sigall-reverse.exp index 598e5d4..f5bbe1e 100644 --- a/gdb/testsuite/gdb.reverse/sigall-reverse.exp +++ b/gdb/testsuite/gdb.reverse/sigall-reverse.exp @@ -33,10 +33,6 @@ if {[build_executable $testfile.exp $testfile $srcfile debug] == -1} { return -1 } -# Make the first signal SIGABRT because it is always supported. -set sig_supported 1 -set thissig "ABRT" - proc test_one_sig {nextsig} { global sig_supported global gdb_prompt @@ -171,76 +167,96 @@ if [supports_process_record] { gdb_test_no_output "record" "Turn on process record" } -test_one_sig HUP -test_one_sig QUIT -test_one_sig ILL -test_one_sig EMT -test_one_sig FPE -test_one_sig BUS -test_one_sig SEGV -test_one_sig SYS -test_one_sig PIPE -test_one_sig ALRM -test_one_sig URG -test_one_sig TSTP -test_one_sig CONT -test_one_sig CHLD -test_one_sig TTIN -test_one_sig TTOU -test_one_sig IO -test_one_sig XCPU -test_one_sig XFSZ -test_one_sig VTALRM -test_one_sig PROF -test_one_sig WINCH -test_one_sig LOST -test_one_sig USR1 -test_one_sig USR2 -test_one_sig PWR -test_one_sig POLL -test_one_sig WIND -test_one_sig PHONE -test_one_sig WAITING -test_one_sig LWP -test_one_sig DANGER -test_one_sig GRANT -test_one_sig RETRACT -test_one_sig MSG -test_one_sig SOUND -test_one_sig SAK -test_one_sig PRIO -test_one_sig 33 -test_one_sig 34 -test_one_sig 35 -test_one_sig 36 -test_one_sig 37 -test_one_sig 38 -test_one_sig 39 -test_one_sig 40 -test_one_sig 41 -test_one_sig 42 -test_one_sig 43 -test_one_sig 44 -test_one_sig 45 -test_one_sig 46 -test_one_sig 47 -test_one_sig 48 -test_one_sig 49 -test_one_sig 50 -test_one_sig 51 -test_one_sig 52 -test_one_sig 53 -test_one_sig 54 -test_one_sig 55 -test_one_sig 56 -test_one_sig 57 -test_one_sig 58 -test_one_sig 59 -test_one_sig 60 -test_one_sig 61 -test_one_sig 62 -test_one_sig 63 -test_one_sig TERM +# The list of signals that the program generates, in the order they +# are generated. +set signals { + ABRT + HUP + QUIT + ILL + EMT + FPE + BUS + SEGV + SYS + PIPE + ALRM + URG + TSTP + CONT + CHLD + TTIN + TTOU + IO + XCPU + XFSZ + VTALRM + PROF + WINCH + LOST + USR1 + USR2 + PWR + POLL + WIND + PHONE + WAITING + LWP + DANGER + GRANT + RETRACT + MSG + SOUND + SAK + PRIO + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + TERM +} + +# Make the first signal SIGABRT because it is always supported. +set sig_supported 1 +set thissig "ABRT" + +# test signal handling +for {set i 0;} {$i < [llength $signals]} {incr i;} { + # Skip the first. + if { $i == 0 } { + continue + } + + set sig [lindex $signals $i] + test_one_sig $sig +} # The last signal (SIGTERM) gets handled slightly differently because # we are not setting up for another test. @@ -256,149 +272,20 @@ gdb_test "continue" "\[process \[0-9\]+ .*" "continue to sigal exit" \ "The next instruction is syscall exit_group.* program...y. or n. " \ "yes" -test_one_sig_reverse TERM -test_one_sig_reverse 63 -test_one_sig_reverse 62 -test_one_sig_reverse 61 -test_one_sig_reverse 60 -test_one_sig_reverse 59 -test_one_sig_reverse 58 -test_one_sig_reverse 57 -test_one_sig_reverse 56 -test_one_sig_reverse 55 -test_one_sig_reverse 54 -test_one_sig_reverse 53 -test_one_sig_reverse 52 -test_one_sig_reverse 51 -test_one_sig_reverse 50 -test_one_sig_reverse 49 -test_one_sig_reverse 48 -test_one_sig_reverse 47 -test_one_sig_reverse 46 -test_one_sig_reverse 45 -test_one_sig_reverse 44 -test_one_sig_reverse 43 -test_one_sig_reverse 42 -test_one_sig_reverse 41 -test_one_sig_reverse 40 -test_one_sig_reverse 39 -test_one_sig_reverse 38 -test_one_sig_reverse 37 -test_one_sig_reverse 36 -test_one_sig_reverse 35 -test_one_sig_reverse 34 -test_one_sig_reverse 33 -test_one_sig_reverse PRIO -test_one_sig_reverse SAK -test_one_sig_reverse SOUND -test_one_sig_reverse MSG -test_one_sig_reverse RETRACT -test_one_sig_reverse GRANT -test_one_sig_reverse DANGER -test_one_sig_reverse LWP -test_one_sig_reverse WAITING -test_one_sig_reverse PHONE -test_one_sig_reverse WIND -test_one_sig_reverse POLL -test_one_sig_reverse PWR -test_one_sig_reverse USR2 -test_one_sig_reverse USR1 -test_one_sig_reverse LOST -test_one_sig_reverse WINCH -test_one_sig_reverse PROF -test_one_sig_reverse VTALRM -test_one_sig_reverse XFSZ -test_one_sig_reverse XCPU -test_one_sig_reverse IO -test_one_sig_reverse TTOU -test_one_sig_reverse TTIN -test_one_sig_reverse CHLD -test_one_sig_reverse CONT -test_one_sig_reverse TSTP -test_one_sig_reverse URG -test_one_sig_reverse ALRM -test_one_sig_reverse PIPE -test_one_sig_reverse SYS -test_one_sig_reverse SEGV -test_one_sig_reverse BUS -test_one_sig_reverse FPE -test_one_sig_reverse EMT -test_one_sig_reverse ILL -test_one_sig_reverse QUIT -test_one_sig_reverse HUP -test_one_sig_reverse ABRT +foreach sig [lreverse $signals] { + test_one_sig_reverse $sig +} # Make the first signal SIGABRT because it is always supported. set sig_supported 1 set thissig "ABRT" -test_one_sig HUP -test_one_sig QUIT -test_one_sig ILL -test_one_sig EMT -test_one_sig FPE -test_one_sig BUS -test_one_sig SEGV -test_one_sig SYS -test_one_sig PIPE -test_one_sig ALRM -test_one_sig URG -test_one_sig TSTP -test_one_sig CONT -test_one_sig CHLD -test_one_sig TTIN -test_one_sig TTOU -test_one_sig IO -test_one_sig XCPU -test_one_sig XFSZ -test_one_sig VTALRM -test_one_sig PROF -test_one_sig WINCH -test_one_sig LOST -test_one_sig USR1 -test_one_sig USR2 -test_one_sig PWR -test_one_sig POLL -test_one_sig WIND -test_one_sig PHONE -test_one_sig WAITING -test_one_sig LWP -test_one_sig DANGER -test_one_sig GRANT -test_one_sig RETRACT -test_one_sig MSG -test_one_sig SOUND -test_one_sig SAK -test_one_sig PRIO -test_one_sig 33 -test_one_sig 34 -test_one_sig 35 -test_one_sig 36 -test_one_sig 37 -test_one_sig 38 -test_one_sig 39 -test_one_sig 40 -test_one_sig 41 -test_one_sig 42 -test_one_sig 43 -test_one_sig 44 -test_one_sig 45 -test_one_sig 46 -test_one_sig 47 -test_one_sig 48 -test_one_sig 49 -test_one_sig 50 -test_one_sig 51 -test_one_sig 52 -test_one_sig 53 -test_one_sig 54 -test_one_sig 55 -test_one_sig 56 -test_one_sig 57 -test_one_sig 58 -test_one_sig 59 -test_one_sig 60 -test_one_sig 61 -test_one_sig 62 -test_one_sig 63 -test_one_sig TERM +for {set i 0;} {$i < [llength $signals]} {incr i;} { + # Skip the first. + if { $i == 0 } { + continue + } + + set sig [lindex $signals $i] + test_one_sig $sig +} |