diff options
author | Yao Qi <yao@codesourcery.com> | 2013-03-15 01:41:29 +0000 |
---|---|---|
committer | Yao Qi <yao@codesourcery.com> | 2013-03-15 01:41:29 +0000 |
commit | 0a251e08fa4e7130f05462ecc9f60e6683cdefca (patch) | |
tree | c79ccfc1f502d7e7d48c54b67720381603201b98 /gdb/testsuite/gdb.threads | |
parent | 2c415c0f382fd6361d9d702ebdd71cd6d6a06d19 (diff) | |
download | gdb-0a251e08fa4e7130f05462ecc9f60e6683cdefca.zip gdb-0a251e08fa4e7130f05462ecc9f60e6683cdefca.tar.gz gdb-0a251e08fa4e7130f05462ecc9f60e6683cdefca.tar.bz2 |
gdb/testsuite/
* gdb.threads/non-ldr-exc-1.exp (do_test): Fix the indent of
using with_test_prefix.
* gdb.threads/non-ldr-exc-2.exp (do_test): Likewise.
* gdb.threads/non-ldr-exc-3.exp (do_test): Likewise.
* gdb.threads/non-ldr-exc-4.exp (do_test): Likewise.
* gdb.threads/watchpoint-fork.exp (test): Likewise.
* gdb.base/break-interp.exp (test_core): Likewise.
(test_attach_gdb): Likewise.
* gdb.base/catch-load.exp (one_catch_load_test): Likewise.
* gdb.base/disp-step-syscall.exp (disp_step_cross_syscall):
Likewise.
* gdb.base/jit-so.exp (one_jit_test): Likewise.
* gdb.base/jit.exp (one_jit_test): Likewise.
* gdb.base/sepdebug.exp (test_different_dir): Likewise.
* gdb.dwarf2/dw2-dir-file-name.exp (test): Likewise.
* gdb.dwarf2/dw2-noloc.exp (file_symbols): Likewise.
* gdb.mi/mi-breakpoint-changed.exp (test_pending_resolved):
Likewise.
* gdb.mi/mi-cmd-param-changed.exp (test_command_param_changed):
Likewise.
* gdb.mi/mi-watch.exp test_watchpoint_all): Likewise.
* gdb.mi/pr11022.exp (test_memory_changed_observer): Likewise.
* gdb.trace/change-loc.exp (tracepoint_change_loc_1): Likewise.
(tracepoint_change_loc_2): Likewise.
* gdb.trace/disconnected-tracing.exp (disconnected_tracing):
Likewise.
(disconnected_tfind): Likewise.
* gdb.trace/mi-traceframe-changed.exp (test_tfind_tfile):
Likewise.
(test_tfind_remote): Likewise.
* gdb.trace/mi-tracepoint-changed.exp (test_reconnect):
Likewise.
(test_pending_resolved): Likewise.
* gdb.trace/mi-tsv-changed.exp (test_create_delete_modify_tsv):
Likewise.
(test_upload_tsv): Likewise.
* gdb.trace/pending.exp (pending_tracepoint_resolved):
Likewise.
(pending_tracepoint_works): Likewise.
* gdb.trace/report.exp (use_collected_data): Likewise.
* gdb.trace/status-stop.exp (test_tstart_tstop_tstart):
Likewise.
(test_tstart_tstart, test_buffer_full_tstart): Likewise.
* gdb.trace/strace.exp (strace_info_marker): Likewise.
(strace_trace_on_same_addr): Likewise.
(strace_trace_on_diff_addr): Likewise.
* gdb.trace/unavailable.exp (gdb_collect_args_test): Likewise.
(gdb_collect_locals_test): Likewise.
(gdb_unavailable_registers_test): Likewise.
(gdb_collect_globals_test): Likewise.
Diffstat (limited to 'gdb/testsuite/gdb.threads')
-rw-r--r-- | gdb/testsuite/gdb.threads/non-ldr-exc-1.exp | 38 | ||||
-rw-r--r-- | gdb/testsuite/gdb.threads/non-ldr-exc-2.exp | 44 | ||||
-rw-r--r-- | gdb/testsuite/gdb.threads/non-ldr-exc-3.exp | 38 | ||||
-rw-r--r-- | gdb/testsuite/gdb.threads/non-ldr-exc-4.exp | 38 | ||||
-rw-r--r-- | gdb/testsuite/gdb.threads/watchpoint-fork.exp | 212 |
5 files changed, 190 insertions, 180 deletions
diff --git a/gdb/testsuite/gdb.threads/non-ldr-exc-1.exp b/gdb/testsuite/gdb.threads/non-ldr-exc-1.exp index 7412fa2..9697071 100644 --- a/gdb/testsuite/gdb.threads/non-ldr-exc-1.exp +++ b/gdb/testsuite/gdb.threads/non-ldr-exc-1.exp @@ -28,29 +28,31 @@ if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executab return -1 } -proc do_test { lock_sched } { with_test_prefix "lock-sched$lock_sched" { - global executable +proc do_test { lock_sched } { + with_test_prefix "lock-sched$lock_sched" { + global executable - clean_restart ${executable} + clean_restart ${executable} - if ![runto_main] { - return -1 - } + if ![runto_main] { + return -1 + } - gdb_breakpoint [gdb_get_line_number "break-here"] - gdb_continue_to_breakpoint "break-here" ".* break-here .*" + gdb_breakpoint [gdb_get_line_number "break-here"] + gdb_continue_to_breakpoint "break-here" ".* break-here .*" - # Also test with sched-lock to make sure we can follow the - # non-leader thread execing even though the main thread wasn't - # resumed before the exec. - if { $lock_sched } { - gdb_test_no_output "set scheduler-locking on" - } + # Also test with sched-lock to make sure we can follow the + # non-leader thread execing even though the main thread wasn't + # resumed before the exec. + if { $lock_sched } { + gdb_test_no_output "set scheduler-locking on" + } - gdb_test "continue" \ - ".*is executing new program.*Breakpoint 1, main.* at .*" \ - "continue over exec" -}} + gdb_test "continue" \ + ".*is executing new program.*Breakpoint 1, main.* at .*" \ + "continue over exec" + } +} do_test 0 do_test 1 diff --git a/gdb/testsuite/gdb.threads/non-ldr-exc-2.exp b/gdb/testsuite/gdb.threads/non-ldr-exc-2.exp index 789bcf3..5b08fd1 100644 --- a/gdb/testsuite/gdb.threads/non-ldr-exc-2.exp +++ b/gdb/testsuite/gdb.threads/non-ldr-exc-2.exp @@ -29,33 +29,35 @@ if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executab return -1 } -proc do_test { lock_sched } { with_test_prefix "lock-sched$lock_sched" { - global executable +proc do_test { lock_sched } { + with_test_prefix "lock-sched$lock_sched" { + global executable - clean_restart ${executable} + clean_restart ${executable} - if ![runto_main] { - return -1 - } + if ![runto_main] { + return -1 + } - gdb_breakpoint [gdb_get_line_number "break-here"] - gdb_continue_to_breakpoint "break-here" ".* break-here .*" + gdb_breakpoint [gdb_get_line_number "break-here"] + gdb_continue_to_breakpoint "break-here" ".* break-here .*" - gdb_test "info threads" \ - "\r\n\[ \t\]*Id\[ \t\]+Target\[ \t\]+Id\[ \t\]+Frame\[ \t\]*\r\n\\* 2 *Thread \[^\r\n\]* at \[^\r\n\]*" \ - "single thread left" + gdb_test "info threads" \ + "\r\n\[ \t\]*Id\[ \t\]+Target\[ \t\]+Id\[ \t\]+Frame\[ \t\]*\r\n\\* 2 *Thread \[^\r\n\]* at \[^\r\n\]*" \ + "single thread left" - # Also test with sched-lock to make sure we can follow the - # non-leader thread execing even though the main thread wasn't - # resumed before the exec. - if { $lock_sched } { - gdb_test_no_output "set scheduler-locking on" - } + # Also test with sched-lock to make sure we can follow the + # non-leader thread execing even though the main thread wasn't + # resumed before the exec. + if { $lock_sched } { + gdb_test_no_output "set scheduler-locking on" + } - gdb_test "continue" \ - ".*is executing new program.*Breakpoint 1, main.* at .*" \ - "continue over exec" -}} + gdb_test "continue" \ + ".*is executing new program.*Breakpoint 1, main.* at .*" \ + "continue over exec" + } +} do_test 0 do_test 1 diff --git a/gdb/testsuite/gdb.threads/non-ldr-exc-3.exp b/gdb/testsuite/gdb.threads/non-ldr-exc-3.exp index 1b132e0..53c5e06 100644 --- a/gdb/testsuite/gdb.threads/non-ldr-exc-3.exp +++ b/gdb/testsuite/gdb.threads/non-ldr-exc-3.exp @@ -31,29 +31,31 @@ if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executab return -1 } -proc do_test { lock_sched } { with_test_prefix "lock-sched$lock_sched" { - global executable +proc do_test { lock_sched } { + with_test_prefix "lock-sched$lock_sched" { + global executable - clean_restart ${executable} + clean_restart ${executable} - if ![runto_main] { - return -1 - } + if ![runto_main] { + return -1 + } - gdb_breakpoint [gdb_get_line_number "break-here"] - gdb_continue_to_breakpoint "break-here" ".* break-here .*" + gdb_breakpoint [gdb_get_line_number "break-here"] + gdb_continue_to_breakpoint "break-here" ".* break-here .*" - # Also test with sched-lock to make sure we can follow the - # non-leader thread execing even though the main thread wasn't - # resumed before the exec. - if { $lock_sched } { - gdb_test_no_output "set scheduler-locking on" - } + # Also test with sched-lock to make sure we can follow the + # non-leader thread execing even though the main thread wasn't + # resumed before the exec. + if { $lock_sched } { + gdb_test_no_output "set scheduler-locking on" + } - gdb_test "continue" \ - ".*is executing new program.*Breakpoint 1, main.* at .*" \ - "continue over exec" -}} + gdb_test "continue" \ + ".*is executing new program.*Breakpoint 1, main.* at .*" \ + "continue over exec" + } +} do_test 0 do_test 1 diff --git a/gdb/testsuite/gdb.threads/non-ldr-exc-4.exp b/gdb/testsuite/gdb.threads/non-ldr-exc-4.exp index be0ac73..9ce5a1b 100644 --- a/gdb/testsuite/gdb.threads/non-ldr-exc-4.exp +++ b/gdb/testsuite/gdb.threads/non-ldr-exc-4.exp @@ -30,29 +30,31 @@ if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executab return -1 } -proc do_test { lock_sched } { with_test_prefix "lock-sched$lock_sched" { - global executable +proc do_test { lock_sched } { + with_test_prefix "lock-sched$lock_sched" { + global executable - clean_restart ${executable} + clean_restart ${executable} - if ![runto_main] { - return -1 - } + if ![runto_main] { + return -1 + } - gdb_breakpoint [gdb_get_line_number "break-here"] - gdb_continue_to_breakpoint "break-here" ".* break-here .*" + gdb_breakpoint [gdb_get_line_number "break-here"] + gdb_continue_to_breakpoint "break-here" ".* break-here .*" - # Also test with sched-lock to make sure we can follow the - # non-leader thread execing even though the main thread wasn't - # resumed before the exec. - if { $lock_sched } { - gdb_test_no_output "set scheduler-locking on" - } + # Also test with sched-lock to make sure we can follow the + # non-leader thread execing even though the main thread wasn't + # resumed before the exec. + if { $lock_sched } { + gdb_test_no_output "set scheduler-locking on" + } - gdb_test "continue" \ - ".*is executing new program.*Breakpoint 1, main.* at .*" \ - "continue over exec" -}} + gdb_test "continue" \ + ".*is executing new program.*Breakpoint 1, main.* at .*" \ + "continue over exec" + } +} do_test 0 do_test 1 diff --git a/gdb/testsuite/gdb.threads/watchpoint-fork.exp b/gdb/testsuite/gdb.threads/watchpoint-fork.exp index c975710..0372e47 100644 --- a/gdb/testsuite/gdb.threads/watchpoint-fork.exp +++ b/gdb/testsuite/gdb.threads/watchpoint-fork.exp @@ -22,120 +22,122 @@ if [is_remote target] { return } -proc test {type symbol} { with_test_prefix "$type" { - global testfile subdir srcdir gdb_prompt - - set srcfile_type ${srcdir}/${subdir}/${testfile}-${type}.c - - # no threads - - with_test_prefix "singlethreaded" { - set executable ${testfile}-${type}-st - set srcfile_main ${testfile}-st.c - if {[build_executable $testfile.exp $executable \ - [list $srcfile_main ${testfile}-${type}.c] \ - [list debug additional_flags=-D$symbol]] == -1} { - return -1 +proc test {type symbol} { + with_test_prefix "$type" { + global testfile subdir srcdir gdb_prompt + + set srcfile_type ${srcdir}/${subdir}/${testfile}-${type}.c + + # no threads + + with_test_prefix "singlethreaded" { + set executable ${testfile}-${type}-st + set srcfile_main ${testfile}-st.c + if {[build_executable $testfile.exp $executable \ + [list $srcfile_main ${testfile}-${type}.c] \ + [list debug additional_flags=-D$symbol]] == -1} { + return -1 + } + + clean_restart $executable + + if [target_info exists gdb,no_hardware_watchpoints] { + # The software watchpoint functionality is in GDB an unrelated test. + gdb_test_no_output "set can-use-hw-watchpoints 0" + } + + gdb_test "show detach-on-fork" "Whether gdb will detach the child of a fork is on\\." + gdb_test_no_output "set follow-fork-mode $type" + gdb_test "show follow-fork-mode" "Debugger response to a program call of fork or vfork is \"$type\"\\." + # Testcase uses it for the `follow-fork-mode child' type. + gdb_test "handle SIGUSR1 nostop noprint pass" "No\[ \t\]+No\[ \t\]+Yes.*" + + if ![runto_main] { + return + } + + gdb_test "watch var" "atchpoint \[0-9\]+: var" "Set the watchpoint" + + # It is never hit but it should not be left over in the fork()ed-off child. + if [skip_hw_breakpoint_tests] { + set hbreak "break" + } else { + set hbreak "hbreak" + } + gdb_test "$hbreak marker" + + gdb_breakpoint "mark_exit" + + gdb_test "continue" \ + "reakpoint \[0-9\]+, marker.*" "hardware breakpoints work" + gdb_test "continue" \ + "atchpoint \[0-9\]+: var.*Old value = 0.*New value = 1.*forkoff *\\(1\\).*" "watchpoints work" + gdb_test "continue" \ + "reakpoint \[0-9\]+, marker.*" "breakpoint after the first fork" + gdb_test "continue" \ + "atchpoint \[0-9\]+: var.*Old value = 1.*New value = 2.*forkoff *\\(2\\).*" "watchpoint after the first fork" + gdb_test "continue" \ + "reakpoint \[0-9\]+, marker.*" "breakpoint after the second fork" + gdb_test "continue" \ + "atchpoint \[0-9\]+: var.*Old value = 2.*New value = 3.*mark_exit \\(\\);" "watchpoint after the second fork" + gdb_test "continue" "Continuing\\..*\r\nBreakpoint \[0-9\]+, mark_exit .*" "finish" } - clean_restart $executable + # threads if [target_info exists gdb,no_hardware_watchpoints] { - # The software watchpoint functionality is in GDB an unrelated test. - gdb_test_no_output "set can-use-hw-watchpoints 0" - } - - gdb_test "show detach-on-fork" "Whether gdb will detach the child of a fork is on\\." - gdb_test_no_output "set follow-fork-mode $type" - gdb_test "show follow-fork-mode" "Debugger response to a program call of fork or vfork is \"$type\"\\." - # Testcase uses it for the `follow-fork-mode child' type. - gdb_test "handle SIGUSR1 nostop noprint pass" "No\[ \t\]+No\[ \t\]+Yes.*" - - if ![runto_main] { - return - } - - gdb_test "watch var" "atchpoint \[0-9\]+: var" "Set the watchpoint" - - # It is never hit but it should not be left over in the fork()ed-off child. - if [skip_hw_breakpoint_tests] { - set hbreak "break" - } else { - set hbreak "hbreak" - } - gdb_test "$hbreak marker" - - gdb_breakpoint "mark_exit" - - gdb_test "continue" \ - "reakpoint \[0-9\]+, marker.*" "hardware breakpoints work" - gdb_test "continue" \ - "atchpoint \[0-9\]+: var.*Old value = 0.*New value = 1.*forkoff *\\(1\\).*" "watchpoints work" - gdb_test "continue" \ - "reakpoint \[0-9\]+, marker.*" "breakpoint after the first fork" - gdb_test "continue" \ - "atchpoint \[0-9\]+: var.*Old value = 1.*New value = 2.*forkoff *\\(2\\).*" "watchpoint after the first fork" - gdb_test "continue" \ - "reakpoint \[0-9\]+, marker.*" "breakpoint after the second fork" - gdb_test "continue" \ - "atchpoint \[0-9\]+: var.*Old value = 2.*New value = 3.*mark_exit \\(\\);" "watchpoint after the second fork" - gdb_test "continue" "Continuing\\..*\r\nBreakpoint \[0-9\]+, mark_exit .*" "finish" - } - - # threads - - if [target_info exists gdb,no_hardware_watchpoints] { - # Watchpoint hits would get detected in unexpected threads. - return - } - - with_test_prefix "multithreaded" { - set executable ${testfile}-${type}-mt - set srcfile_main ${srcdir}/${subdir}/${testfile}-mt.c - if { [gdb_compile_pthreads "${srcfile_main} ${srcfile_type}" [standard_output_file ${executable}] executable [list debug "additional_flags=-D$symbol -DTHREAD"]] != "" } { - untested ${testfile}.exp + # Watchpoint hits would get detected in unexpected threads. return } - clean_restart $executable - - gdb_test_no_output "set follow-fork-mode $type" - # Testcase uses it for the `follow-fork-mode child' type. - gdb_test "handle SIGUSR1 nostop noprint pass" "No\[ \t\]+No\[ \t\]+Yes.*" - if ![runto_main] { - return + with_test_prefix "multithreaded" { + set executable ${testfile}-${type}-mt + set srcfile_main ${srcdir}/${subdir}/${testfile}-mt.c + if { [gdb_compile_pthreads "${srcfile_main} ${srcfile_type}" [standard_output_file ${executable}] executable [list debug "additional_flags=-D$symbol -DTHREAD"]] != "" } { + untested ${testfile}.exp + return + } + clean_restart $executable + + gdb_test_no_output "set follow-fork-mode $type" + # Testcase uses it for the `follow-fork-mode child' type. + gdb_test "handle SIGUSR1 nostop noprint pass" "No\[ \t\]+No\[ \t\]+Yes.*" + + if ![runto_main] { + return + } + + gdb_test "watch var" "atchpoint \[0-9\]+: var" "Set the watchpoint" + + # It should not be left over in the fork()ed-off child. + gdb_test "$hbreak marker" {reakpoint [0-9]+.*} + + gdb_breakpoint "mark_exit" + + gdb_test "continue" \ + "reakpoint \[0-9\]+, marker.*" "hardware breakpoints work" + gdb_test "continue" \ + "atchpoint \[0-9\]+: var.*Old value = 0.*New value = 1.*validity-first.*" "singlethread watchpoints work" + gdb_test "continue" \ + "atchpoint \[0-9\]+: var.*Old value = 1.*New value = 2.*validity-thread-A.*" "multithreaded watchpoints work at A" + gdb_test "continue" \ + "atchpoint \[0-9\]+: var.*Old value = 2.*New value = 3.*validity-thread-B.*" "multithreaded watchpoints work at B" + gdb_test "continue" \ + "reakpoint \[0-9\]+, marker.*" "breakpoint (A) after the first fork" + gdb_test "continue" \ + "atchpoint \[0-9\]+: var.*Old value = 3.*New value = 4.*after-fork1-A.*" "watchpoint A after the first fork" + gdb_test "continue" \ + "atchpoint \[0-9\]+: var.*Old value = 4.*New value = 5.*after-fork1-B.*" "watchpoint B after the first fork" + gdb_test "continue" \ + "reakpoint \[0-9\]+, marker.*" "breakpoint (A) after the second fork" + gdb_test "continue" \ + "atchpoint \[0-9\]+: var.*Old value = 5.*New value = 6.*after-fork2-A.*" "watchpoint A after the second fork" + gdb_test "continue" \ + "atchpoint \[0-9\]+: var.*Old value = 6.*New value = 7.*after-fork2-B.*" "watchpoint B after the second fork" + gdb_test "continue" "Continuing\\..*\r\nBreakpoint \[0-9\]+, mark_exit .*" "finish" } - - gdb_test "watch var" "atchpoint \[0-9\]+: var" "Set the watchpoint" - - # It should not be left over in the fork()ed-off child. - gdb_test "$hbreak marker" {reakpoint [0-9]+.*} - - gdb_breakpoint "mark_exit" - - gdb_test "continue" \ - "reakpoint \[0-9\]+, marker.*" "hardware breakpoints work" - gdb_test "continue" \ - "atchpoint \[0-9\]+: var.*Old value = 0.*New value = 1.*validity-first.*" "singlethread watchpoints work" - gdb_test "continue" \ - "atchpoint \[0-9\]+: var.*Old value = 1.*New value = 2.*validity-thread-A.*" "multithreaded watchpoints work at A" - gdb_test "continue" \ - "atchpoint \[0-9\]+: var.*Old value = 2.*New value = 3.*validity-thread-B.*" "multithreaded watchpoints work at B" - gdb_test "continue" \ - "reakpoint \[0-9\]+, marker.*" "breakpoint (A) after the first fork" - gdb_test "continue" \ - "atchpoint \[0-9\]+: var.*Old value = 3.*New value = 4.*after-fork1-A.*" "watchpoint A after the first fork" - gdb_test "continue" \ - "atchpoint \[0-9\]+: var.*Old value = 4.*New value = 5.*after-fork1-B.*" "watchpoint B after the first fork" - gdb_test "continue" \ - "reakpoint \[0-9\]+, marker.*" "breakpoint (A) after the second fork" - gdb_test "continue" \ - "atchpoint \[0-9\]+: var.*Old value = 5.*New value = 6.*after-fork2-A.*" "watchpoint A after the second fork" - gdb_test "continue" \ - "atchpoint \[0-9\]+: var.*Old value = 6.*New value = 7.*after-fork2-B.*" "watchpoint B after the second fork" - gdb_test "continue" "Continuing\\..*\r\nBreakpoint \[0-9\]+, mark_exit .*" "finish" } -}} +} test parent FOLLOW_PARENT |