Re: [PATCH] test-lint-duplicates: Only check for numbered test cases

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 03, 2013 at 07:54:02AM +0200, Torsten Bögershausen wrote:

> Running make inside contrib/remote-helpers fails in "test-lint-duplicates"
> 
> This was because the regexp checking for duplicate numbers strips everything
> after the first "-" in the filename, including the prefix.
> 
> As a result, 2 pathnames like
> "xxxx/contrib/remote-helpers/test-bzr.sh" and
> "xxxx/contrib/remote-helpers/test-hg-bidi.sh"
> 
> are both converted into
> "xxxx/contrib/remote", and reported as duplicate.
> 
> Improve the regexp:
> Remove everything after tNNNN- (where X stand for a digit)

I think the approach to just make test-lint-duplicates a no-op on
non-numbered tests is reasonable, but this is side-stepping half of the
issue. The problems are:

  1. We do not have numbers in our test names.

  2. We _do_ have full paths in the test names, which might have
     elements which look like test script names.

Your patch tightens the match so that a hyphen in the path name does not
confuse our script. But it trades it for being confused by tNNNN in the
pathname. Which is admittedly less likely, but is not addressing the
fundamental issues that we should only be processing basenames.

So something like "sed 's,.*/,,'" would fix that. But that still leaves
us with a bunch of tests called "test-foo", "test-bar", etc, which will
appear as duplicates. So we would still want to tighten the number
parsing.

Like:

diff --git a/t/Makefile b/t/Makefile
index 5c6de81..e5afa4c 100644
--- a/t/Makefile
+++ b/t/Makefile
@@ -47,7 +47,9 @@ test-lint-duplicates:
 test-lint: test-lint-duplicates test-lint-executable
 
 test-lint-duplicates:
-	@dups=`echo $(T) | tr ' ' '\n' | sed 's/-.*//' | sort | uniq -d` && \
+	@dups=`echo $(T) | tr ' ' '\n' | \
+		sed -e 's,.*/,,' -e 's/\(t[0-9][0-9][0-9][0-9]\)-.*/\1/' | \
+		sort | uniq -d` && \
 		test -z "$$dups" || { \
 		echo >&2 "duplicate test numbers:" $$dups; exit 1; }
 

-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]