aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/testsuite/ChangeLog9
-rw-r--r--gdb/testsuite/gdb.mi/mi-break.exp69
2 files changed, 57 insertions, 21 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 7e1e9b0..ee27566 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,14 @@
2016-06-21 Pedro Alves <palves@redhat.com>
+ * gdb.mi/mi-break.exp (test_breakpoint_commands): Always expect
+ breakpoint command's output on the main UI.
+ (test_break): New procedure, factored out from calls in the top
+ level.
+ (top level): Use foreach_with_prefix to test MI as main UI and as
+ separate UI.
+
+2016-06-21 Pedro Alves <palves@redhat.com>
+
* gdb.mi/mi-watch.exp (test_watchpoint_creation_and_listing)
(test_awatch_creation_and_listing)
(test_rwatch_creation_and_listing, test_watchpoint_triggering):
diff --git a/gdb/testsuite/gdb.mi/mi-break.exp b/gdb/testsuite/gdb.mi/mi-break.exp
index 85f328d..00293d7 100644
--- a/gdb/testsuite/gdb.mi/mi-break.exp
+++ b/gdb/testsuite/gdb.mi/mi-break.exp
@@ -23,11 +23,6 @@
load_lib mi-support.exp
set MIFLAGS "-i=mi"
-gdb_exit
-if [mi_gdb_start] {
- continue
-}
-
standard_testfile basics.c
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
@@ -35,10 +30,6 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb
return -1
}
-mi_delete_breakpoints
-mi_gdb_reinitialize_dir $srcdir/$subdir
-mi_gdb_load ${binfile}
-
# Locate line numbers in basics.c.
set line_callee4_head [gdb_get_line_number "callee4 ("]
set line_callee4_body [expr $line_callee4_head + 2]
@@ -292,9 +283,25 @@ proc test_breakpoint_commands {} {
mi_send_resuming_command "exec-continue" "breakpoint commands: continue"
- set test "intermediate stop and continue"
+
+ # The breakpoint command's output is always sent to the main UI,
+ # even when testing with MI running on a secondary UI.
+ global gdb_main_spawn_id
+
+ set test "intermediate stop and continue, bp commands"
gdb_expect {
- -re ".*\\\$1 = 0.*\\\$10 = 9.*\\*running" {
+ -i $gdb_main_spawn_id
+ -re ".*\\\$1 = 0.*\\\$10 = 9" {
+ pass $test
+ }
+ timeout {
+ fail $test
+ }
+ }
+
+ set test "intermediate stop and continue, mi running"
+ gdb_expect {
+ -re "\\*running" {
pass $test
}
timeout {
@@ -385,20 +392,40 @@ proc test_explicit_breakpoints {} {
".*Source filename requires function, label, or line offset.*"
}
-test_tbreak_creation_and_listing
-test_rbreak_creation_and_listing
+proc test_break {mi_mode} {
+ global srcdir subdir binfile
+
+ mi_gdb_exit
+
+ if {$mi_mode == "separate"} {
+ set start_ops "separate-mi-tty"
+ } else {
+ set start_ops ""
+ }
+ if [mi_gdb_start $start_ops] {
+ return
+ }
+
+ mi_delete_breakpoints
+ mi_gdb_reinitialize_dir $srcdir/$subdir
+ mi_gdb_load ${binfile}
-test_ignore_count
+ test_tbreak_creation_and_listing
+ test_rbreak_creation_and_listing
-test_error
+ test_ignore_count
-test_disabled_creation
+ test_error
-test_breakpoint_commands
+ test_disabled_creation
-test_abreak_creation
+ test_breakpoint_commands
-test_explicit_breakpoints
+ test_abreak_creation
-mi_gdb_exit
-return 0
+ test_explicit_breakpoints
+}
+
+foreach_with_prefix mi-mode {"main" "separate"} {
+ test_break ${mi-mode}
+}