On 26 March 2016 at 15:29, Ben Elliston <b...@air.net.au> wrote: > 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. >
Thanks for looking at this. However, a manual of the gcc testsuite indicates that we don't use standard_wait. This is confirmed by a full validation in our lab, where I still see several random results in several asan and ubsan tests. So I think this patch is not sufficient. Christophe. > 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 > _______________________________________________ DejaGnu mailing list DejaGnu@gnu.org https://lists.gnu.org/mailman/listinfo/dejagnu