[PATCH 4/4] Test different follow-exec-mode settings in gdb.multi/multi-arch-exec.exp

Simon Marchi
2017-08-27T10:16:37Z

Using follow-exec-mode "new" takes a different code path than "same", so
it's interesting to test this path in combination with a change in
architecture of the inferior. This test fails if you remove the
previous patch.

gdb/testsuite/ChangeLog:

* gdb.multi/multi-arch-exec.exp: Test with different
"follow-exec-mode" settings.
(do_test): New procedure.
---
gdb/testsuite/gdb.multi/multi-arch-exec.exp | 25 ++++++++++++++++++-------
1 file changed, 18 insertions(+), 7 deletions(-)

diff --git a/gdb/testsuite/gdb.multi/multi-arch-exec.exp b/gdb/testsuite/gdb.multi/multi-arch-exec.exp
index ed98532..3053345 100644
--- a/gdb/testsuite/gdb.multi/multi-arch-exec.exp
+++ b/gdb/testsuite/gdb.multi/multi-arch-exec.exp
@@ -76,12 +76,23 @@ if { [prepare_for_testing "failed to prepare" ${exec2} "${srcfile2}" \
return -1
}

-clean_restart ${exec1}
-if ![runto_main] then {
- fail "couldn't run to main"
- return -1
+proc do_test { mode } {
+ global exec1
+
+ clean_restart ${exec1}
+ if ![runto_main] then {
+ fail "couldn't run to main"
+ return -1
+ }
+
+ gdb_test_no_output "set follow-exec-mode $mode"
+
+ # Test that GDB updates the target description / arch successfuly
+ # after the exec.
+ gdb_test "continue" "Breakpoint 1, main.*" "continue across exec that changes architecture"
+ gdb_test "info inferior"
}

-# Test that GDB updates the target description / arch successfuly
-# after the exec.
-gdb_test "continue" "Breakpoint 1, main.*" "continue across exec that changes architecture"
+foreach follow_exec_mode {"same" "new"} {
+ do_test $follow_exec_mode
+}
--
2.7.4