On 05/10/2012 04:12 PM, Jim Meyering wrote: > Jim Meyering wrote: > >> The misc/tty-eof test would fail infrequently (just enough to be >> annoying) maybe 1 in 5 or 10, yet not enough to investigate... >> until today, when the failure interfered with making a release. >> >> Until recently that test was always skipped (and hence even easier to ignore) >> for me because I had not installed the perl-Expect package that it requires. >> >> It would fail like this: >> >> FAIL: misc/tty-eof >> ================== > ... >> tty-eof: sort didn't exit after ^D from standard input > ... >> >> The part that matters is that sort failed to exit. >> What it really means is that sort+^D failed to exit before >> the 1-second timeout expired. That gives it away, since >> this is reproducible only when I'm running hundreds of tests via >> "make -j20 check", and never in isolation. >> >> The timeout was too short. >> >> I'm running 50 or 100 parallel builds with the new, longer timeout. >> 40 passes and counting... >> >> If they all pass, I'll push the following: > > With one small addition: I moved the test name "up" so that it > is started earlier: > >>From 3a696dee7232dedbb8c7031d2547af20bb29645f Mon Sep 17 00:00:00 2001 > From: Jim Meyering <[email protected]> > Date: Thu, 10 May 2012 16:20:38 +0200 > Subject: [PATCH] tests: misc/tty-eof: increase timeout to avoid unwarranted > failure > > * tests/misc/tty-eof: Increase timeout from 1s to 10s, to avoid > unwarranted failure under heavy load. > * tests/Makefile.am (TESTS): Move misc/tty-eof "up" to nearer the > beginning of the list (from near the middle) so that it is started > earlier in parallel test runs. Otherwise, it would frequently be > among the last two tests to complete. > --- > tests/Makefile.am | 2 +- > tests/misc/tty-eof | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tests/Makefile.am b/tests/Makefile.am > index ca19051..a4370a6 100644 > --- a/tests/Makefile.am > +++ b/tests/Makefile.am > @@ -87,6 +87,7 @@ TESTS = \ > rm/ext3-perf \ > rm/cycle \ > cp/link-heap \ > + misc/tty-eof \ > tail-2/inotify-hash-abuse \ > tail-2/inotify-hash-abuse2 \ > tail-2/F-vs-missing \ > @@ -303,7 +304,6 @@ TESTS = \ > misc/truncate-parameters \ > misc/truncate-relative \ > misc/tsort \ > - misc/tty-eof \ > misc/unexpand \ > misc/uniq \ > misc/uniq-perf \ > diff --git a/tests/misc/tty-eof b/tests/misc/tty-eof > index 9e86613..e9eed2e 100755 > --- a/tests/misc/tty-eof > +++ b/tests/misc/tty-eof > @@ -75,7 +75,7 @@ $@ > $exp->expect (0, '-re', "^a b\\r?\$"); > my $found = $exp->expect (1, '-re', "^.+\$"); > $found and warn "F: $found: " . $exp->exp_match () . "\n"; > - $exp->expect(1, 'eof'); > + $exp->expect(10, 'eof'); > # Expect no output from cut, since we gave it no input. > defined $found || $cmd =~ /^cut/ > or (warn "$ME: $cmd didn't produce expected output\n"), > -- > 1.7.10.1.487.ga3935e6 > >
looks good
