git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: t5800-*.sh: Intermittent test failures

From
Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Date
Sep 11, 2011, 19:14 UTC
Message-ID
<4E6D089C.4090006@ramsay1.demon.co.uk>
In-Reply-To
<20110908182055.GA16500@sigill.intra.peff.net>
Jeff King wrote:
Show 9 quoted lines
> On Thu, Sep 08, 2011 at 06:42:11PM +0100, Ramsay Jones wrote:
> 
>> When I run the tests with "make test >test-out", I see a failure rate of about
>> 1 in 10. If I then set the debug environment variables (GIT_TRANSPORT_HELPER_DEBUG,
>> GIT_TRANSLOOP_DEBUG and GIT_DEBUG_TESTGIT) and run the test script directly (-v),
>> then the failure rate goes up to about 1 in 3.
> 
> Hmm. I can't reproduce a failure here, but I do get some weirdness. My
> recipe is:
Ah, sorry, ... I didn't make myself clear then, because ...
Show 37 quoted lines
> -- >8 --
> cat >foo.sh <<\EOF
> #!/bin/sh
> 
> exec >$1.out 2>&1
> 
> n=0
> while test $n -lt 100; do
> 	n=$(($n+1))
> 	GIT_TRANSPORT_HELPER_DEBUG=1 \
> 	GIT_TRANSLOOP_DEBUG=1 \
> 	GIT_DEBUG_TESTGIT=1 \
> 	./t5800-remote-helpers.sh --root=/run/shm/git-tests-$1 -v || {
> 		echo FAIL $n
> 		exit 1
> 	}
> 	echo OK $n
> done
> EOF
> 
> # try to keep an 8-core machine busy
> for i in `seq 1 16`; do
>   sh foo.sh $i &
> done
> -- 8< --
> 
> I never see a test failure, but a few of the 16 end up hanging. The
> process tree for the hanged tests look like:
> 
>   t5800-remote-helper
>     git push
>       git-remote-testgit
>         git fast-import
>           git-fast-import
> 
> All of them are blocked on wait(), except for the final fast-import,
> which is blocked trying to read() from stdin.

... these hangs *are* the failures of which I speak! Yes, the script doesn't get to declare a failure, but AFAIAC a hanging test (and it isn't the same test # each time) is a failing test. :-D

ATB, Ramsay Jones

Previous: Jeff KingNext: Alex Riesen
Message 7 of 12 in “t5800-*.sh: Intermittent test failures”
  1. Ramsay JonesAug 9, 2011
  2. Sverre RabbelierAug 11, 2011
  3. Ramsay JonesAug 13, 2011
  4. Junio C HamanoSep 4, 2011
  5. Ramsay JonesSep 8, 2011
  6. Jeff KingSep 8, 2011
  7. Ramsay JonesSep 11, 2011
  8. Alex RiesenNov 1, 2011
  9. Junio C HamanoNov 1, 2011
  10. Alex RiesenNov 1, 2011
  11. Sverre RabbelierNov 2, 2011
  12. Junio C HamanoNov 3, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.