git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* (warning) Tonight's 'pu' may fail its tests
@ 2009-02-06 11:02 Junio C Hamano
  2009-02-06 11:32 ` Junio C Hamano
  0 siblings, 1 reply; 2+ messages in thread
From: Junio C Hamano @ 2009-02-06 11:02 UTC (permalink / raw)
  To: git; +Cc: Marius Storm-Olsen

I usually try to make sure all four integration branches (maint, master,
next and pu) pass the selftest before pushing the results out, but it
seems that there is a subtle breakage somewhere in 'pu' that breaks
t4203-mailmap.sh.  The breakage is not reliably reproducible but happens
very often when tests are run in parallel (e.g. "make -j4").

I originally was planning to merge ms/mailmap to 'next' before tonight's
pushout, but I ran out of time and had to yank the topic out of 'next' and
kicked it back to 'pu'.

Does the following log ring a bell to anybody?

----------------------------------------------------------------
Initialized empty Git repository in /git/git.git/t/trash directory.t4203-mailmap/.git/
* expecting success:
        echo one >one &&
        git add one &&
        test_tick &&
        git commit -m initial &&
        echo two >>one &&
        git add one &&
        git commit --author "nick1 <bugs@company.xx>" -m second

[master (root-commit) 3a2fdcb] initial
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 one
[master 7de6f99] second
 1 files changed, 1 insertions(+), 0 deletions(-)
*   ok 1: setup

* expecting success:
        git shortlog >actual &&
        test_cmp expect actual

--- expect      2009-02-06 10:47:25.000000000 +0000
+++ actual      2009-02-06 10:47:25.000000000 +0000
@@ -1,6 +0,0 @@
-A U Thor (1):
-      initial
-
-nick1 (1):
-      second
-
* FAIL 2: No mailmap

                git shortlog >actual &&
                test_cmp expect actual

make[2]: *** [t4203-mailmap.sh] Error 1
----------------------------------------------------------------

The frustrating thing is that

    GIT_SKIP_TESTS='t[0-35-9]??? t4[01]??' \
    GIT_TEST_OPTS='-i -v' \
    make -j4 test

fails very reliably with the above log, but:

 (1) running the same "../../git-shortlog" in  "t/trash directory.t4203-mailmap/"
     immediately after the test failed does emit the expected result;

 (2) going down to t/ and manually running t4203-mailmap.sh alone succeeds;

 (3) running the tests serially (i.e. without -j4) allows the test to succeed.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: (warning) Tonight's 'pu' may fail its tests
  2009-02-06 11:02 (warning) Tonight's 'pu' may fail its tests Junio C Hamano
@ 2009-02-06 11:32 ` Junio C Hamano
  0 siblings, 0 replies; 2+ messages in thread
From: Junio C Hamano @ 2009-02-06 11:32 UTC (permalink / raw)
  To: git; +Cc: Marius Storm-Olsen

Junio C Hamano <gitster@pobox.com> writes:

> The frustrating thing is that
>
>     GIT_SKIP_TESTS='t[0-35-9]??? t4[01]??' \
>     GIT_TEST_OPTS='-i -v' \
>     make -j4 test
>
> fails very reliably with the above log, but:
>
>  (1) running the same "../../git-shortlog" in  "t/trash directory.t4203-mailmap/"
>      immediately after the test failed does emit the expected result;
>
>  (2) going down to t/ and manually running t4203-mailmap.sh alone succeeds;
>
>  (3) running the tests serially (i.e. without -j4) allows the test to succeed.

The test is broken and here is a fix I'll be squashing into the series.

The mystery was simply that it failed when the test was run in the
background (i.e. !isatty(0)) because it used "git shortlog" without saying
that it wants a shortlog from HEAD down to root explicitly.

 t/t4203-mailmap.sh |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git i/t/t4203-mailmap.sh w/t/t4203-mailmap.sh
index c7a1238..094d905 100755
--- i/t/t4203-mailmap.sh
+++ w/t/t4203-mailmap.sh
@@ -24,7 +24,7 @@ nick1 (1):
 EOF
 
 test_expect_success 'No mailmap' '
-	git shortlog >actual &&
+	git shortlog HEAD >actual &&
 	test_cmp expect actual
 '
 
@@ -39,7 +39,7 @@ EOF
 
 test_expect_success 'default .mailmap' '
 	echo "Repo Guy <author@example.com>" > .mailmap &&
-	git shortlog >actual &&
+	git shortlog HEAD >actual &&
 	test_cmp expect actual
 '
 
@@ -57,7 +57,7 @@ test_expect_success 'log.mailmap set' '
 	mkdir internal_mailmap &&
 	echo "Internal Guy <bugs@company.xx>" > internal_mailmap/.mailmap &&
 	git config log.mailmap internal_mailmap/.mailmap &&
-	git shortlog >actual &&
+	git shortlog HEAD >actual &&
 	test_cmp expect actual
 '
 
@@ -72,7 +72,7 @@ EOF
 test_expect_success 'log.mailmap override' '
 	echo "External Guy <author@example.com>" >> internal_mailmap/.mailmap &&
 	git config log.mailmap internal_mailmap/.mailmap &&
-	git shortlog >actual &&
+	git shortlog HEAD >actual &&
 	test_cmp expect actual
 '
 
@@ -88,7 +88,7 @@ EOF
 test_expect_success 'log.mailmap file non-existant' '
 	rm internal_mailmap/.mailmap &&
 	rmdir internal_mailmap &&
-	git shortlog >actual &&
+	git shortlog HEAD >actual &&
 	test_cmp expect actual
 '
 
@@ -102,7 +102,7 @@ nick1 (1):
 EOF
 test_expect_success 'No mailmap files, but configured' '
 	rm .mailmap &&
-	git shortlog >actual &&
+	git shortlog HEAD >actual &&
 	test_cmp expect actual
 '
 
@@ -162,7 +162,7 @@ test_expect_success 'Shortlog output (complex mapping)' '
 	echo "Santa Claus <santa.claus@northpole.xx> <me@company.xx>" >> internal_mailmap/.mailmap &&
 	echo "Santa Claus <santa.claus@northpole.xx> <me@company.xx>" >> internal_mailmap/.mailmap &&
 
-	git shortlog -e >actual &&
+	git shortlog -e HEAD >actual &&
 	test_cmp expect actual
 
 '

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-02-06 11:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-06 11:02 (warning) Tonight's 'pu' may fail its tests Junio C Hamano
2009-02-06 11:32 ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).