t1302 (core.repositoryversion): style tweaks

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 <pclouds@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jonathan Nieder 2010-09-06 20:52:27 -05:00 committed by Junio C Hamano
parent 76bbcd4382
commit 8fe5aeddcb

View File

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