[PATCH 09/18] Make dprintf-non-stop.exp cope with remote testing

Pedro Alves
2015-10-14T15:37:59Z

Testing with the extended-remote board with "maint set target-non-stop
on" shows a dprintf-non-stop.exp regression. The issue is simply that
the test is expecting output that is only valid for the native target:

native:

[process 8676] #1 stopped.

remote:

[Thread 8900.8900] #1 stopped.

In order to expose this without "maint set target-non-stop on", this
restarts gdb with non-stop mode already enabled.

gdb/testsuite/ChangeLog:
2015-10-14 Pedro Alves <palves@redhat.com>

* gdb.base/dprintf-non-stop.exp: Use build_executable instead of
prepare_for_testing. Start gdb with "set non-stop on" appended to
GDBFLAGS. Lax expected stop output.
---
gdb/testsuite/gdb.base/dprintf-non-stop.exp | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gdb/testsuite/gdb.base/dprintf-non-stop.exp b/gdb/testsuite/gdb.base/dprintf-non-stop.exp
index 4e3e5bc..5b878aa 100644
--- a/gdb/testsuite/gdb.base/dprintf-non-stop.exp
+++ b/gdb/testsuite/gdb.base/dprintf-non-stop.exp
@@ -20,13 +20,17 @@ if [is_remote target] then {
}

standard_testfile
+set executable ${testfile}

-if [prepare_for_testing "failed to prepare for dprintf with non-stop" \
+if [build_executable "failed to prepare for dprintf with non-stop" \
${testfile} ${srcfile} {debug}] {
return -1
}

-gdb_test_no_output "set non-stop on"
+save_vars { GDBFLAGS } {
+ append GDBFLAGS " -ex \"set non-stop on\""
+ clean_restart ${executable}
+}

if ![runto main] {
fail "Can't run to main"
@@ -60,7 +64,7 @@ gdb_test_multiple $test $test {

set test "inferior stopped"
gdb_test_multiple "" $test {
- -re "\r\n\\\[.* \[0-9\]+\\\] #1 stopped\\\.\r\n" {
+ -re "\r\n\\\[.*\\\] #1 stopped\\\.\r\n" {
pass $test
}
}
--
1.9.3