[PATCH 01/10] t4209: set up expectations up front

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxx>
---
 t/t4209-log-pickaxe.sh | 64 ++++++++++++++++++++------------------------------
 1 file changed, 25 insertions(+), 39 deletions(-)

diff --git a/t/t4209-log-pickaxe.sh b/t/t4209-log-pickaxe.sh
index 38fb80f..ff668b5 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@xxxxxxxxxxx>" -m second
+	git commit --author="Another Person <another@xxxxxxxxxxx>" -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
 '
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]