On Tue, Jan 22, 2013 at 12:49:31AM -0500, John Szakmeister wrote: > 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 $@ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html