When running the testsuite, I have:
Running .../gdb/testsuite/gdb.mi/mi-nonstop-exit.exp ...
DUPLICATE: gdb.mi/mi-nonstop-exit.exp: breakpoint at main
DUPLICATE: gdb.mi/mi-nonstop-exit.exp: mi runto main
This test runs the same sequence of operations twice. Refactor the code
by running both of those sequences within a foreach_with_prefix block to
ensure that the commands have unique test names.
Tested on x86_64-linux.
mi_gdb_test "-gdb-set mi-async 1" ".*"
mi_detect_async
-if { [mi_runto_main] < 0 } {
- continue
-}
-
-mi_send_resuming_command "exec-continue" "continue"
-
-mi_expect_stop "exited-normally" "" "" "" "" "" "finished exec continue"
+foreach_with_prefix iteration {1 2} {
+ mi_delete_breakpoints
+ if { [mi_runto_main] < 0 } {
+ continue
+ }
-# Run the program again.
+ mi_send_resuming_command "exec-continue" "continue"
-mi_delete_breakpoints
-
-if { [mi_runto_main] < 0 } {
- continue
+ mi_expect_stop "exited-normally" "" "" "" "" "" "finished exec continue"
}
-mi_send_resuming_command "exec-continue" "continue (2)"
-
-mi_expect_stop "exited-normally" "" "" "" "" "" "finished exec continue (2)"
-
mi_gdb_exit