This is a counterpart to GIT_SKIP_TESTS. Mostly useful when debugging. --- t/README | 15 +++++++++++++++ t/test-lib.sh | 8 ++++++++ 2 files changed, 23 insertions(+), 0 deletions(-) diff --git a/t/README b/t/README index caeeb9d..f939987 100644 --- a/t/README +++ b/t/README @@ -187,6 +187,21 @@ and either can match the "t[0-9]{4}" part to skip the whole test, or t[0-9]{4} followed by ".$number" to say which particular test to skip. +Sometimes the opposite is desired - ability to execute only one or +several tests. Mostly while debugging tests. For that you can say + + $ GIT_TEST_ONLY=t9200.8 sh ./t9200-git-cvsexport-commit.sh + +or, similrary to GIT_SKIP_TESTS + + $ GIT_TEST_ONLY='t[0-4]??? t91?? t9200.8' make + +In additiona to matching against "<test suite number>.<test number>" +GIT_TEST_ONLY is matched against just the test numbes. This comes +handy when you are running only one test: + + $ GIT_TEST_ONLY='[0-8]' sh ./t9200-git-cvsexport-commit.sh + Note that some tests in the existing test suite rely on previous test item, so you cannot arbitrarily disable one and expect the remainder of test to check what the test originally was intended diff --git a/t/test-lib.sh b/t/test-lib.sh index 89a405b..12bf436 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -464,6 +464,14 @@ test_skip () { fi skipped_reason="missing $missing_prereq${of_prereq}" fi + if test -z "$to_skip" && test -n "$GIT_TEST_ONLY" && + ! match_pattern_list $this_test.$test_count $GIT_TEST_ONLY && + ! match_pattern_list $test_count $GIT_TEST_ONLY + then + to_skip=t + skipped_reason="not in GIT_TEST_ONLY" + fi + case "$to_skip" in t) say_color skip >&3 "skipping test: $@" -- 1.7.9 -- 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