Skip to content

Commit

Permalink
t1302 (core.repositoryversion): style tweaks
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jonathan Nieder authored and Junio C Hamano committed Sep 9, 2010
1 parent 76bbcd4 commit 8fe5aed
Showing 1 changed file with 40 additions and 24 deletions.
64 changes: 40 additions & 24 deletions t/t1302-repo-version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 &&
Expand All @@ -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

0 comments on commit 8fe5aed

Please sign in to comment.