summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2014-03-22 18:15:51 +0100
committerJunio C Hamano <gitster@pobox.com>2014-03-24 10:58:11 -0700
commitb0f7c7cf865e6b14ccf90f34b6fde0d08af6b50b (patch)
tree919edde58852e356d18c59379591e6d8779601c3
parent5f95c9f850b19b368c43ae399cc831b17a26a5ac (diff)
downloadgit-b0f7c7cf865e6b14ccf90f34b6fde0d08af6b50b.tar.gz
t4209: set up expectations up front
Instead of creating an expect file for each test, build three files with the possible valid values during setup and use them in the tests. This shortens the test code and saves nine calls to git rev-parse. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t4209-log-pickaxe.sh64
1 files changed, 25 insertions, 39 deletions
diff --git a/t/t4209-log-pickaxe.sh b/t/t4209-log-pickaxe.sh
index 38fb80f643..ff668b5877 100755
--- a/t/t4209-log-pickaxe.sh
+++ b/t/t4209-log-pickaxe.sh
@@ -4,80 +4,74 @@ test_description='log --grep/--author/--regexp-ignore-case/-S/-G'
. ./test-lib.sh
test_expect_success setup '
+ >expect_nomatch &&
+
>file &&
git add file &&
test_tick &&
git commit -m initial &&
+ git rev-parse --verify HEAD >expect_initial &&
echo Picked >file &&
+ git add file &&
test_tick &&
- git commit -a --author="Another Person <another@example.com>" -m second
+ git commit --author="Another Person <another@example.com>" -m second &&
+ git rev-parse --verify HEAD >expect_second
'
test_expect_success 'log --grep' '
git log --grep=initial --format=%H >actual &&
- git rev-parse --verify HEAD^ >expect &&
- test_cmp expect actual
+ test_cmp expect_initial actual
'
test_expect_success 'log --grep --regexp-ignore-case' '
git log --regexp-ignore-case --grep=InItial --format=%H >actual &&
- git rev-parse --verify HEAD^ >expect &&
- test_cmp expect actual
+ test_cmp expect_initial actual
'
test_expect_success 'log --grep -i' '
git log -i --grep=InItial --format=%H >actual &&
- git rev-parse --verify HEAD^ >expect &&
- test_cmp expect actual
+ test_cmp expect_initial actual
'
test_expect_success 'log --author --regexp-ignore-case' '
git log --regexp-ignore-case --author=person --format=%H >actual &&
- git rev-parse --verify HEAD >expect &&
- test_cmp expect actual
+ test_cmp expect_second actual
'
test_expect_success 'log --author -i' '
git log -i --author=person --format=%H >actual &&
- git rev-parse --verify HEAD >expect &&
- test_cmp expect actual
+ test_cmp expect_second actual
'
test_expect_success 'log -G (nomatch)' '
git log -Gpicked --format=%H >actual &&
- >expect &&
- test_cmp expect actual
+ test_cmp expect_nomatch actual
'
test_expect_success 'log -G (match)' '
git log -GPicked --format=%H >actual &&
- git rev-parse --verify HEAD >expect &&
- test_cmp expect actual
+ test_cmp expect_second actual
'
test_expect_success 'log -G --regexp-ignore-case (nomatch)' '
git log --regexp-ignore-case -Gpickle --format=%H >actual &&
- >expect &&
- test_cmp expect actual
+ test_cmp expect_nomatch actual
'
test_expect_success 'log -G -i (nomatch)' '
git log -i -Gpickle --format=%H >actual &&
- >expect &&
- test_cmp expect actual
+ test_cmp expect_nomatch actual
'
test_expect_success 'log -G --regexp-ignore-case (match)' '
git log --regexp-ignore-case -Gpicked --format=%H >actual &&
- git rev-parse --verify HEAD >expect &&
- test_cmp expect actual
+ test_cmp expect_second actual
'
test_expect_success 'log -G -i (match)' '
git log -i -Gpicked --format=%H >actual &&
- git rev-parse --verify HEAD >expect &&
- test_cmp expect actual
+ test_cmp expect_second actual
'
test_expect_success 'log -G --textconv (missing textconv tool)' '
@@ -89,45 +83,38 @@ test_expect_success 'log -G --textconv (missing textconv tool)' '
test_expect_success 'log -G --no-textconv (missing textconv tool)' '
echo "* diff=test" >.gitattributes &&
git -c diff.test.textconv=missing log -Gfoo --no-textconv >actual &&
- >expect &&
- test_cmp expect actual &&
+ test_cmp expect_nomatch actual &&
rm .gitattributes
'
test_expect_success 'log -S (nomatch)' '
git log -Spicked --format=%H >actual &&
- >expect &&
- test_cmp expect actual
+ test_cmp expect_nomatch actual
'
test_expect_success 'log -S (match)' '
git log -SPicked --format=%H >actual &&
- git rev-parse --verify HEAD >expect &&
- test_cmp expect actual
+ test_cmp expect_second actual
'
test_expect_success 'log -S --regexp-ignore-case (match)' '
git log --regexp-ignore-case -Spicked --format=%H >actual &&
- git rev-parse --verify HEAD >expect &&
- test_cmp expect actual
+ test_cmp expect_second actual
'
test_expect_success 'log -S -i (match)' '
git log -i -Spicked --format=%H >actual &&
- git rev-parse --verify HEAD >expect &&
- test_cmp expect actual
+ test_cmp expect_second actual
'
test_expect_success 'log -S --regexp-ignore-case (nomatch)' '
git log --regexp-ignore-case -Spickle --format=%H >actual &&
- >expect &&
- test_cmp expect actual
+ test_cmp expect_nomatch actual
'
test_expect_success 'log -S -i (nomatch)' '
git log -i -Spickle --format=%H >actual &&
- >expect &&
- test_cmp expect actual
+ test_cmp expect_nomatch actual
'
test_expect_success 'log -S --textconv (missing textconv tool)' '
@@ -139,8 +126,7 @@ test_expect_success 'log -S --textconv (missing textconv tool)' '
test_expect_success 'log -S --no-textconv (missing textconv tool)' '
echo "* diff=test" >.gitattributes &&
git -c diff.test.textconv=missing log -Sfoo --no-textconv >actual &&
- >expect &&
- test_cmp expect actual &&
+ test_cmp expect_nomatch actual &&
rm .gitattributes
'