Re: Build broken for contrib/remote-helpers...
- From
Jeff King <peff@peff.net>
- Date
- Jan 22, 2013, 19:41 UTC
- Message-ID
- <20130122194135.GA23521@sigill.intra.peff.net>
- In-Reply-To
- <CAEBDL5U+Yrny-YgN1fZj1T+XTJRVaiFvMixT13Zzb2DhhYgQsA@mail.gmail.com>
On Tue, Jan 22, 2013 at 12:49:31AM -0500, John Szakmeister wrote:
Show 13 quoted lines
> I tried running make in contrib/remote-helpers and it died with: > > :: make > make -e -C ../../t test > rm -f -r test-results > duplicate test numbers: /Users/jszakmeister/sources/git > make[1]: *** [test-lint-duplicates] Error 1 > make: *** [test] Error 2 > > The path shown is not quite correct. I have the sources extracted to > /Users/jszakmeister/sources/git-1.8.1.1. It appears that the Makefile > in contrib/remote-helpers is exporting T, which is causing the > duplicate test detection to fail.
It has to set T, because that is how t/Makefile knows what the set of tests is. The problem is that test-lint-duplicates does not understand absolute pathnames, as its regex is too simplistic:
sed 's/-.*//' | sort | uniq -d
So it finds whatever is before the first "-", which would be the test number in "t0000-basic.sh" or similar, and then looks for duplicates.
We can make the regex more strict to handle full paths, like:
perl -lne 'print $1 if m{(?:^|/)(t\d{4})-}'but that still would not help, as the tests in remote-helpers do not follow the tXXXX convention. So I think even running test-lint-duplicates on them is nonsensical.
Maybe something like this would be more appropriate, though it kills off all test-lint checks, not just test-lint-duplicates:
diff --git a/contrib/remote-helpers/Makefile b/contrib/remote-helpers/Makefile index 9a76575..9c18ed8 100644 --- a/contrib/remote-helpers/Makefile +++ b/contrib/remote-helpers/Makefile @@ -3,6 +3,7 @@ export PATH := $(CURDIR):$(PATH) export T := $(addprefix $(CURDIR)/,$(TESTS)) export MAKE := $(MAKE) -e export PATH := $(CURDIR):$(PATH) +export TEST_LINT := test: $(MAKE) -C ../../t $@