From: Philip Oakley Date: Mon, 03 Mar 2014 15:23:47 GMT Subject: Re: [PATCH 2/2] test-lib: GIT_TEST_ONLY to run only specific tests Message-ID: In-Reply-To: <1393842298-5944-2-git-send-email-ilya.bobyr@gmail.com> Minor nits. From: "Ilya Bobyr" > 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 "." > +GIT_TEST_ONLY is matched against just the test . This comes s/numbes/numbers/ > +handy when you are running only one test: s/handy/in handy/ > + > + $ 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: $@" > -- Philip