git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* Build broken for contrib/remote-helpers...
@ 2013-01-22  5:49 John Szakmeister
  2013-01-22 19:41 ` Jeff King
  0 siblings, 1 reply; 4+ messages in thread
From: John Szakmeister @ 2013-01-22  5:49 UTC (permalink / raw
  To: git

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.

Thought you'd like to know!

-John

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

* Re: Build broken for contrib/remote-helpers...
  2013-01-22  5:49 Build broken for contrib/remote-helpers John Szakmeister
@ 2013-01-22 19:41 ` Jeff King
  2013-01-22 20:55   ` Torsten Bögershausen
  0 siblings, 1 reply; 4+ messages in thread
From: Jeff King @ 2013-01-22 19:41 UTC (permalink / raw
  To: John Szakmeister; +Cc: Felipe Contreras, git

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 $@

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

* Re: Build broken for contrib/remote-helpers...
  2013-01-22 19:41 ` Jeff King
@ 2013-01-22 20:55   ` Torsten Bögershausen
  2013-01-22 22:22     ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Torsten Bögershausen @ 2013-01-22 20:55 UTC (permalink / raw
  To: Jeff King; +Cc: John Szakmeister, Felipe Contreras, git

On 22.01.13 20:41, Jeff King wrote:
> 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.

would it help to filter for numbered tests before sorting like this:

sed 's/-.*//' | grep "[0-9][0-9][0-9][0-9]"| sort | uniq -d

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

* Re: Build broken for contrib/remote-helpers...
  2013-01-22 20:55   ` Torsten Bögershausen
@ 2013-01-22 22:22     ` Junio C Hamano
  0 siblings, 0 replies; 4+ messages in thread
From: Junio C Hamano @ 2013-01-22 22:22 UTC (permalink / raw
  To: Torsten Bögershausen
  Cc: Jeff King, John Szakmeister, Felipe Contreras, git

Torsten Bögershausen <tboegi@web.de> writes:

>> 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.
>
> would it help to filter for numbered tests before sorting like this:
>
> sed 's/-.*//' | grep "[0-9][0-9][0-9][0-9]"| sort | uniq -d

If you are using sed you do not need grep.  Just do that in a single
process, perhaps like

	sed -ne 's|\(.*/\)*t\([0-9][0-9][0-9][0-9]\)-.*|\2|p'

But more importantly, what do we want "duplicate numbers" sanity
check to mean in this context?  Is this other directory allowed to
have a numbered test that shares the same number as the main test
suite?  Is uniqueness inside the contrib/remote-helpers/ directory
sufficient?

Do we envision that perhaps someday the contrib material becomes
mature enough and will want to migrate to the main part of the tree?
If that is the case, perhaps should the check complain that these
tests are not numbered, instead of ignoring?

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

end of thread, other threads:[~2013-01-22 22:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-22  5:49 Build broken for contrib/remote-helpers John Szakmeister
2013-01-22 19:41 ` Jeff King
2013-01-22 20:55   ` Torsten Bögershausen
2013-01-22 22:22     ` Junio C Hamano

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).