I found the problem. The sanitiser execution tests produce a lot of output (~20KB on stderr). Somtimes, when EOF is matched in standard_wait, there are unmatched characters left in the expect buffer. These need to be appended to $output. This has probably escaped us until now because execution test output has been very short.
I'll do some more testing before checking this in. Cheers, Ben 2016-03-27 Ben Elliston <b...@gnu.org> * lib/remote.exp (standard_wait): Append any trailing characters to $output that may be still in $expect_out(buffer) when eof is matched. Remove arbitrary limitation in the ".+" matching case, similar to the change to local_exec on 2016-02-17. diff --git a/lib/remote.exp b/lib/remote.exp index e0d9d18..029d934 100644 --- a/lib/remote.exp +++ b/lib/remote.exp @@ -1122,17 +1122,15 @@ proc standard_wait { dest timeout } { remote_expect $dest $timeout { -re ".+" { append output $expect_out(buffer) - if { [string length $output] > 512000 } { - remote_close $dest - set status 1 - } else { - exp_continue -continue_timer - } + exp_continue -continue_timer } timeout { warning "program timed out." } eof { + # There may be trailing characters in the buffer. + # Append them, too. + append output $expect_out(buffer) if {[board_info $dest exists fileid_origid]} { global board_info
signature.asc
Description: Digital signature
_______________________________________________ DejaGnu mailing list DejaGnu@gnu.org https://lists.gnu.org/mailman/listinfo/dejagnu