From 0d6504cc3cb299eccb3f56bb97d84b3c99e004d4 Mon Sep 17 00:00:00 2001 From: Johannes Sixt Date: Mon, 13 Dec 2010 11:14:02 +0100 Subject: [PATCH 1/4] Avoid duplicate test number t7609 Signed-off-by: Johannes Sixt Signed-off-by: Junio C Hamano --- t/{t7609-merge-abort.sh => t7611-merge-abort.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename t/{t7609-merge-abort.sh => t7611-merge-abort.sh} (100%) diff --git a/t/t7609-merge-abort.sh b/t/t7611-merge-abort.sh similarity index 100% rename from t/t7609-merge-abort.sh rename to t/t7611-merge-abort.sh From d38732c28cb43387d6d66f72bbc6fd91f3d0b516 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Mon, 13 Dec 2010 12:22:38 -0500 Subject: [PATCH 2/4] tests: add some script lint checks There are some common but minor errors we tend to make in writing test scripts: 1. Scripts are left non-executable. This is not usually noticed immediately because "make test" does not need the bit, but it is a matter of git policy to make them executable (and is a slight convenience when running individual scripts). 2. Two scripts are allocated the same number. Usually this happens on separate branches, and the problem only comes about during a merge. But since there is no textual conflict, the merger would have to be very observant to notice. This is also a minor error, but can make GIT_SKIP_TESTS ambiguous. This patch introduces a "test-lint" target which checks both. It is not invoked by default. You can invoke it as "make test-lint", or you can make it a prerequisite of running the tests by specifying "TEST_LINT = test-lint" in your config.mak or on the command line. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- t/Makefile | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/t/Makefile b/t/Makefile index 73c6ec473d..47cbeb6e68 100644 --- a/t/Makefile +++ b/t/Makefile @@ -23,10 +23,10 @@ TGITWEB = $(wildcard t95[0-9][0-9]-*.sh) all: $(DEFAULT_TEST_TARGET) -test: pre-clean +test: pre-clean $(TEST_LINT) $(MAKE) aggregate-results-and-cleanup -prove: pre-clean +prove: pre-clean $(TEST_LINT) @echo "*** prove ***"; GIT_CONFIG=.git/config $(PROVE) --exec '$(SHELL_PATH_SQ)' $(GIT_PROVE_OPTS) $(T) :: $(GIT_TEST_OPTS) $(MAKE) clean @@ -41,6 +41,18 @@ clean: $(RM) -r valgrind/bin $(RM) .prove +test-lint: test-lint-duplicates test-lint-executable + +test-lint-duplicates: + @dups=`echo $(T) | tr ' ' '\n' | sed 's/-.*//' | sort | uniq -d` && \ + test -z "$$dups" || { \ + echo >&2 "duplicate test numbers:" $$dups; exit 1; } + +test-lint-executable: + @bad=`for i in $(T); do test -x "$$i" || echo $$i; done` && \ + test -z "$$bad" || { \ + echo >&2 "non-executable tests:" $$bad; exit 1; } + aggregate-results-and-cleanup: $(T) $(MAKE) aggregate-results $(MAKE) clean From 28368e9f0bced688e4baf3b02b1bfcb6580909c4 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Mon, 13 Dec 2010 12:07:34 -0500 Subject: [PATCH 3/4] tests: flip executable bit on t9158 All tests are supposed to be executable. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- t/t9158-git-svn-mergeinfo.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 t/t9158-git-svn-mergeinfo.sh diff --git a/t/t9158-git-svn-mergeinfo.sh b/t/t9158-git-svn-mergeinfo.sh old mode 100644 new mode 100755 From 0137ef7dae553f9eb89cbae1ddb60b72046ba28b Mon Sep 17 00:00:00 2001 From: Michael J Gruber Date: Mon, 13 Dec 2010 17:12:29 +0100 Subject: [PATCH 4/4] t800?-blame.sh: retitle uniquely Currently we have three test files matching t800?-blame.sh. Rename the latter two to make it easier to spot where additions would go. Signed-off-by: Michael J Gruber Signed-off-by: Junio C Hamano --- t/{t8003-blame.sh => t8003-blame-corner-cases.sh} | 0 t/{t8004-blame.sh => t8004-blame-with-conflicts.sh} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename t/{t8003-blame.sh => t8003-blame-corner-cases.sh} (100%) rename t/{t8004-blame.sh => t8004-blame-with-conflicts.sh} (100%) diff --git a/t/t8003-blame.sh b/t/t8003-blame-corner-cases.sh similarity index 100% rename from t/t8003-blame.sh rename to t/t8003-blame-corner-cases.sh diff --git a/t/t8004-blame.sh b/t/t8004-blame-with-conflicts.sh similarity index 100% rename from t/t8004-blame.sh rename to t/t8004-blame-with-conflicts.sh