[PATCH 1/6] t1500: test_rev_parse: facilitate future test enhancements
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- May 10, 2016, 05:20 UTC
- Message-ID
- <20160510052055.32924-2-sunshine@sunshineco.com>
- In-Reply-To
- <20160510052055.32924-1-sunshine@sunshineco.com>
Tests run by test_rev_parse() are nearly identical; each invokes git-rev-parse with a single option and compares the result against an expected value. Such duplication makes it onerous to extend the tests since any change needs to be repeated in each test. Reduce the duplication by parameterizing the test and driving it via a for-loop.
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> --- t/t1500-rev-parse.sh | 44 +++++++++++++++++--------------------------- 1 file changed, 17 insertions(+), 27 deletions(-)
diff --git a/t/t1500-rev-parse.sh b/t/t1500-rev-parse.sh index 48ee077..03f22fe 100755 --- a/t/t1500-rev-parse.sh +++ b/t/t1500-rev-parse.sh @@ -3,38 +3,28 @@ test_description='test git rev-parse' . ./test-lib.sh -test_rev_parse() { +# usage: label is-bare is-inside-git is-inside-work prefix git-dir +test_rev_parse () { name=$1 shift - test_expect_success "$name: is-bare-repository" \ - "test '$1' = \"\$(git rev-parse --is-bare-repository)\"" - shift - [ $# -eq 0 ] && return - - test_expect_success "$name: is-inside-git-dir" \ - "test '$1' = \"\$(git rev-parse --is-inside-git-dir)\"" - shift - [ $# -eq 0 ] && return - - test_expect_success "$name: is-inside-work-tree" \ - "test '$1' = \"\$(git rev-parse --is-inside-work-tree)\"" - shift - [ $# -eq 0 ] && return - - test_expect_success "$name: prefix" \ - "test '$1' = \"\$(git rev-parse --show-prefix)\"" - shift - [ $# -eq 0 ] && return - - test_expect_success "$name: git-dir" \ - "test '$1' = \"\$(git rev-parse --git-dir)\"" - shift - [ $# -eq 0 ] && return + for o in is-bare-repository \ + is-inside-git-dir \ + is-inside-work-tree \ + show-prefix \ + git-dir + do + expect="$1" + test_expect_success "$name: $o" ' + echo "$expect" >expect && + git rev-parse --$o >actual && + test_cmp expect actual + ' + shift + test $# -eq 0 && break + done } -# label is-bare is-inside-git is-inside-work prefix git-dir - ROOT=$(pwd) test_rev_parse toplevel false false true '' .git
-- 2.8.2.530.g51d527d