Runs of the guality testsuite can sometimes end up with gcc.log containing
malformed lines like:
A debugging session is active.PASS: gcc.dg/guality/pr36728-1.c -O2 line 18
arg4 == 4
A debugging session is active.PASS: gcc.dg/guality/restrict.c -O2 line 30
type:ip == int *
Inferior 1 [process 27054] will be killed.PASS:
gcc.dg/guality/restrict.c -O2 line 30 type:cicrp == const int * const
restrict
Inferior 1 [process 27160] will be killed.PASS:
gcc.dg/guality/restrict.c -O2 line 30 type:cvirp == int * const volatile
restrict
This patch just makes sure the PASS/FAIL comes at the beginning of a line. (At
the slight cost of adding some extra newlines not in the actual test output.)
I moved the remote_close target calls earlier, to avoid any possible race
condition of extra output being generated after the newline - this may not be
strictly necessary.
Tested on aarch64-none-linux-gnu and x86_64-none-linux-gnu.
I think this is reasonable for stage 3 - OK for trunk?
gcc/testsuite/ChangeLog:
* lib/gcc-gdb-test.exp (gdb-test): call remote_close earlier, and send
newline to log, before calling pass/fail/unsupported.
* lib/gcc-simulate-thread.exp (simulate-thread): Likewise.
---
gcc/testsuite/lib/gcc-gdb-test.exp | 15 ++++++++++-----
gcc/testsuite/lib/gcc-simulate-thread.exp | 10 +++++++---
2 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/gcc/testsuite/lib/gcc-gdb-test.exp
b/gcc/testsuite/lib/gcc-gdb-test.exp
index d3ba6e4..f60cabf 100644
--- a/gcc/testsuite/lib/gcc-gdb-test.exp
+++ b/gcc/testsuite/lib/gcc-gdb-test.exp
@@ -84,8 +84,9 @@ proc gdb-test { args } {
remote_expect target [timeout_value] {
# Too old GDB
-re "Unhandled dwarf expression|Error in sourced command file|<unknown
type in " {
- unsupported "$testname"
remote_close target
+ send_log "\n"
+ unsupported "$testname"
file delete $cmd_file
return
}
@@ -93,7 +94,9 @@ proc gdb-test { args } {
-re {[\n\r]\$1 = ([^\n\r]*)[\n\r]+\$2 = ([^\n\r]*)[\n\r]} {
set first $expect_out(1,string)
set second $expect_out(2,string)
+ remote_close target
if { $first == $second } {
+ send_log "\n"
pass "$testname"
} else {
# We need the -- to disambiguate $first from an option,
@@ -101,7 +104,6 @@ proc gdb-test { args } {
send_log -- "$first != $second\n"
fail "$testname"
}
- remote_close target
file delete $cmd_file
return
}
@@ -116,26 +118,29 @@ proc gdb-test { args } {
regsub -all {\mlong int\M} $type "long" type
regsub -all {\mshort int\M} $type "short" type
set expected [lindex $args 2]
+ remote_close target
if { $type == $expected } {
+ send_log "\n"
pass "$testname"
} else {
send_log -- "$type != $expected\n"
fail "$testname"
}
- remote_close target
file delete $cmd_file
return
}
timeout {
- unsupported "$testname"
remote_close target
+ send_log "\n"
+ unsupported "$testname"
file delete $cmd_file
return
}
}
- unsupported "$testname"
remote_close target
+ send_log "\n"
+ unsupported "$testname"
file delete $cmd_file
return
}
diff --git a/gcc/testsuite/lib/gcc-simulate-thread.exp
b/gcc/testsuite/lib/gcc-simulate-thread.exp
index f4275d7..6809636 100644
--- a/gcc/testsuite/lib/gcc-simulate-thread.exp
+++ b/gcc/testsuite/lib/gcc-simulate-thread.exp
@@ -61,13 +61,15 @@ proc simulate-thread { args } {
remote_expect target [timeout_value] {
# Too old GDB
-re "Unhandled dwarf expression|Error in sourced command file" {
- unsupported "$testcase $message"
remote_close target
+ send_log "\n"
+ unsupported "$testcase $message"
return
}
-re "FAIL:" {
- fail "$testcase $message"
remote_close target
+ send_log "\n"
+ fail "$testcase $message"
return
}
# If the gdb output contained simulate_thread_done, assume
@@ -78,13 +80,15 @@ proc simulate-thread { args } {
exp_continue
}
timeout {
- fail "$testcase $message"
remote_close target
+ send_log "\n"
+ fail "$testcase $message"
return
}
}
remote_close target
+ send_log "\n"
if {$gdb_worked} {
pass "$testcase $message"
} else {
--
1.9.1