diff options
author | Eric Sunshine <sunshine@sunshineco.com> | 2016-05-18 16:15:42 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-05-18 14:14:04 -0700 |
commit | 12f7526c66547ced1b670f5c0faeec5120fc9c7a (patch) | |
tree | b3f8c36a9610bba3884a7822e8706a67e719945d /t/t1500-rev-parse.sh | |
parent | d66f68ff985f494f3122ab05b532c6e41884ad64 (diff) | |
download | git-12f7526c66547ced1b670f5c0faeec5120fc9c7a.tar.gz git-12f7526c66547ced1b670f5c0faeec5120fc9c7a.tar.xz |
t1500: test_rev_parse: facilitate future test enhancements
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. Avoid the
duplication by parameterizing the test and driving it via a for-loop.
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t1500-rev-parse.sh')
-rwxr-xr-x | t/t1500-rev-parse.sh | 44 |
1 files changed, 17 insertions, 27 deletions
diff --git a/t/t1500-rev-parse.sh b/t/t1500-rev-parse.sh index 0194f5401..ecc575ba1 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 + test $# -eq 0 && break + expect="$1" + test_expect_success "$name: $o" ' + echo "$expect" >expect && + git rev-parse $o >actual && + test_cmp expect actual + ' + shift + done } -# label is-bare is-inside-git is-inside-work prefix git-dir - ROOT=$(pwd) test_expect_success 'setup' ' |