Subject: [PATCH 5/7] t1302 (core.repositoryversion): style tweaks

From: Jonathan Nieder <[email-masked]>
Date: Mon, 6 Sep 2010 20:52:27 -0500

This test is from 2007, which is late enough for the style to be
recognizably modern but still a while ago.  Freshen it up to
follow new best practices:

 - guard setup commands with test_expect_setup, so errors at
   that stage can be caught;
 - use <<\EOF in preference to <<EOF, to save reviewers the
   trouble of looking for variable interpolations;
 - use test_cmp instead of test "$foo" = "$bar", for better
   output with -v on failure;
 - indent commands in subshells and let them span multiple lines;
 - combine the two "gitdir required mode" tests that do not make
   as much sense alone.

Cc: Nguyễn Thái Ngọc Duy <[email-masked]>
Signed-off-by: Jonathan Nieder <[email-masked]>
---
 t/t1302-repo-version.sh |   64 +++++++++++++++++++++++++++++-----------------
 1 files changed, 40 insertions(+), 24 deletions(-)

diff --git a/t/t1302-repo-version.sh b/t/t1302-repo-version.sh
index 0da2799..a6bf1bf 100755
--- a/t/t1302-repo-version.sh
+++ b/t/t1302-repo-version.sh
@@ -7,29 +7,41 @@ test_description='Test repository version check'
 
 . ./test-lib.sh
 
-cat >test.patch <<EOF
-diff --git a/test.txt b/test.txt
-new file mode 100644
---- /dev/null
-+++ b/test.txt
-@@ -0,0 +1 @@
-+123
-EOF
+test_expect_success 'setup' '
+	cat >test.patch <<-\EOF &&
+	diff --git a/test.txt b/test.txt
+	new file mode 100644
+	--- /dev/null
+	+++ b/test.txt
+	@@ -0,0 +1 @@
+	+123
+	EOF
 
-test_create_repo "test"
-test_create_repo "test2"
-
-GIT_CONFIG=test2/.git/config git config core.repositoryformatversion 99 || exit 1
+	test_create_repo "test" &&
+	test_create_repo "test2" &&
+	GIT_CONFIG=test2/.git/config git config core.repositoryformatversion 99
+'
 
 test_expect_success 'gitdir selection on normal repos' '
-	(test "$(git config core.repositoryformatversion)" = 0 &&
-	cd test &&
-	test "$(git config core.repositoryformatversion)" = 0)'
+	echo 0 >expect &&
+	git config core.repositoryformatversion >actual &&
+	(
+		cd test &&
+		git config core.repositoryformatversion >../actual2
+	) &&
+	test_cmp expect actual &&
+	test_cmp expect actual2
+'
 
-# Make sure it would stop at test2, not trash
 test_expect_success 'gitdir selection on unsupported repo' '
-	(cd test2 &&
-	test "$(git config core.repositoryformatversion)" = 99)'
+	# Make sure it would stop at test2, not trash
+	echo 99 >expect &&
+	(
+		cd test2 &&
+		git config core.repositoryformatversion >../actual
+	)
+	test_cmp expect actual
+'
 
 test_expect_success 'gitdir not required mode' '
 	git apply --stat test.patch &&
@@ -43,12 +55,16 @@ test_expect_success 'gitdir not required mode' '
 	)
 '
 
-test_expect_success 'gitdir required mode on normal repos' '
-	(git apply --check --index test.patch &&
-	cd test && git apply --check --index ../test.patch)'
-
-test_expect_success 'gitdir required mode on unsupported repo' '
-	(cd test2 && test_must_fail git apply --check --index ../test.patch)
+test_expect_success 'gitdir required mode' '
+	git apply --check --index test.patch &&
+	(
+		cd test &&
+		git apply --check --index ../test.patch
+	) &&
+	(
+		cd test2 &&
+		test_must_fail git apply --check --index ../test.patch
+	)
 '
 
 test_done
-- 
1.7.2.3