[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] tests: misc/tty-eof: increase timeout to avoid unwarranted f
From: |
Pádraig Brady |
Subject: |
Re: [PATCH] tests: misc/tty-eof: increase timeout to avoid unwarranted failure |
Date: |
Thu, 10 May 2012 16:16:42 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20110816 Thunderbird/6.0 |
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 <address@hidden>
> 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