Skip to content

Commit

Permalink
t1500: test_rev_parse: facilitate future test enhancements
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
sunshineco authored and gitster committed May 18, 2016
1 parent d66f68f commit 12f7526
Showing 1 changed file with 17 additions and 27 deletions.
44 changes: 17 additions & 27 deletions t/t1500-rev-parse.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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' '
Expand Down

0 comments on commit 12f7526

Please sign in to comment.