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>
This commit is contained in:
parent
5f95c9f850
commit
b0f7c7cf86
@ -4,80 +4,74 @@ test_description='log --grep/--author/--regexp-ignore-case/-S/-G'
|
|||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
|
||||||
test_expect_success setup '
|
test_expect_success setup '
|
||||||
|
>expect_nomatch &&
|
||||||
|
|
||||||
>file &&
|
>file &&
|
||||||
git add file &&
|
git add file &&
|
||||||
test_tick &&
|
test_tick &&
|
||||||
git commit -m initial &&
|
git commit -m initial &&
|
||||||
|
git rev-parse --verify HEAD >expect_initial &&
|
||||||
|
|
||||||
echo Picked >file &&
|
echo Picked >file &&
|
||||||
|
git add file &&
|
||||||
test_tick &&
|
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' '
|
test_expect_success 'log --grep' '
|
||||||
git log --grep=initial --format=%H >actual &&
|
git log --grep=initial --format=%H >actual &&
|
||||||
git rev-parse --verify HEAD^ >expect &&
|
test_cmp expect_initial actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log --grep --regexp-ignore-case' '
|
test_expect_success 'log --grep --regexp-ignore-case' '
|
||||||
git log --regexp-ignore-case --grep=InItial --format=%H >actual &&
|
git log --regexp-ignore-case --grep=InItial --format=%H >actual &&
|
||||||
git rev-parse --verify HEAD^ >expect &&
|
test_cmp expect_initial actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log --grep -i' '
|
test_expect_success 'log --grep -i' '
|
||||||
git log -i --grep=InItial --format=%H >actual &&
|
git log -i --grep=InItial --format=%H >actual &&
|
||||||
git rev-parse --verify HEAD^ >expect &&
|
test_cmp expect_initial actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log --author --regexp-ignore-case' '
|
test_expect_success 'log --author --regexp-ignore-case' '
|
||||||
git log --regexp-ignore-case --author=person --format=%H >actual &&
|
git log --regexp-ignore-case --author=person --format=%H >actual &&
|
||||||
git rev-parse --verify HEAD >expect &&
|
test_cmp expect_second actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log --author -i' '
|
test_expect_success 'log --author -i' '
|
||||||
git log -i --author=person --format=%H >actual &&
|
git log -i --author=person --format=%H >actual &&
|
||||||
git rev-parse --verify HEAD >expect &&
|
test_cmp expect_second actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log -G (nomatch)' '
|
test_expect_success 'log -G (nomatch)' '
|
||||||
git log -Gpicked --format=%H >actual &&
|
git log -Gpicked --format=%H >actual &&
|
||||||
>expect &&
|
test_cmp expect_nomatch actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log -G (match)' '
|
test_expect_success 'log -G (match)' '
|
||||||
git log -GPicked --format=%H >actual &&
|
git log -GPicked --format=%H >actual &&
|
||||||
git rev-parse --verify HEAD >expect &&
|
test_cmp expect_second actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log -G --regexp-ignore-case (nomatch)' '
|
test_expect_success 'log -G --regexp-ignore-case (nomatch)' '
|
||||||
git log --regexp-ignore-case -Gpickle --format=%H >actual &&
|
git log --regexp-ignore-case -Gpickle --format=%H >actual &&
|
||||||
>expect &&
|
test_cmp expect_nomatch actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log -G -i (nomatch)' '
|
test_expect_success 'log -G -i (nomatch)' '
|
||||||
git log -i -Gpickle --format=%H >actual &&
|
git log -i -Gpickle --format=%H >actual &&
|
||||||
>expect &&
|
test_cmp expect_nomatch actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log -G --regexp-ignore-case (match)' '
|
test_expect_success 'log -G --regexp-ignore-case (match)' '
|
||||||
git log --regexp-ignore-case -Gpicked --format=%H >actual &&
|
git log --regexp-ignore-case -Gpicked --format=%H >actual &&
|
||||||
git rev-parse --verify HEAD >expect &&
|
test_cmp expect_second actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log -G -i (match)' '
|
test_expect_success 'log -G -i (match)' '
|
||||||
git log -i -Gpicked --format=%H >actual &&
|
git log -i -Gpicked --format=%H >actual &&
|
||||||
git rev-parse --verify HEAD >expect &&
|
test_cmp expect_second actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log -G --textconv (missing textconv tool)' '
|
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)' '
|
test_expect_success 'log -G --no-textconv (missing textconv tool)' '
|
||||||
echo "* diff=test" >.gitattributes &&
|
echo "* diff=test" >.gitattributes &&
|
||||||
git -c diff.test.textconv=missing log -Gfoo --no-textconv >actual &&
|
git -c diff.test.textconv=missing log -Gfoo --no-textconv >actual &&
|
||||||
>expect &&
|
test_cmp expect_nomatch actual &&
|
||||||
test_cmp expect actual &&
|
|
||||||
rm .gitattributes
|
rm .gitattributes
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log -S (nomatch)' '
|
test_expect_success 'log -S (nomatch)' '
|
||||||
git log -Spicked --format=%H >actual &&
|
git log -Spicked --format=%H >actual &&
|
||||||
>expect &&
|
test_cmp expect_nomatch actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log -S (match)' '
|
test_expect_success 'log -S (match)' '
|
||||||
git log -SPicked --format=%H >actual &&
|
git log -SPicked --format=%H >actual &&
|
||||||
git rev-parse --verify HEAD >expect &&
|
test_cmp expect_second actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log -S --regexp-ignore-case (match)' '
|
test_expect_success 'log -S --regexp-ignore-case (match)' '
|
||||||
git log --regexp-ignore-case -Spicked --format=%H >actual &&
|
git log --regexp-ignore-case -Spicked --format=%H >actual &&
|
||||||
git rev-parse --verify HEAD >expect &&
|
test_cmp expect_second actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log -S -i (match)' '
|
test_expect_success 'log -S -i (match)' '
|
||||||
git log -i -Spicked --format=%H >actual &&
|
git log -i -Spicked --format=%H >actual &&
|
||||||
git rev-parse --verify HEAD >expect &&
|
test_cmp expect_second actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log -S --regexp-ignore-case (nomatch)' '
|
test_expect_success 'log -S --regexp-ignore-case (nomatch)' '
|
||||||
git log --regexp-ignore-case -Spickle --format=%H >actual &&
|
git log --regexp-ignore-case -Spickle --format=%H >actual &&
|
||||||
>expect &&
|
test_cmp expect_nomatch actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log -S -i (nomatch)' '
|
test_expect_success 'log -S -i (nomatch)' '
|
||||||
git log -i -Spickle --format=%H >actual &&
|
git log -i -Spickle --format=%H >actual &&
|
||||||
>expect &&
|
test_cmp expect_nomatch actual
|
||||||
test_cmp expect actual
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'log -S --textconv (missing textconv tool)' '
|
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)' '
|
test_expect_success 'log -S --no-textconv (missing textconv tool)' '
|
||||||
echo "* diff=test" >.gitattributes &&
|
echo "* diff=test" >.gitattributes &&
|
||||||
git -c diff.test.textconv=missing log -Sfoo --no-textconv >actual &&
|
git -c diff.test.textconv=missing log -Sfoo --no-textconv >actual &&
|
||||||
>expect &&
|
test_cmp expect_nomatch actual &&
|
||||||
test_cmp expect actual &&
|
|
||||||
rm .gitattributes
|
rm .gitattributes
|
||||||
'
|
'
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user