expose a helper function peel_to_type().
[gitweb.git] / t / t5710-info-alternate.sh
index 2e1b48a89b1c8a33c62be530bd40fa4d57eb2836..910ccb4fff561360ba7060ab8df71c0349c4207a 100755 (executable)
@@ -17,7 +17,7 @@ reachable_via() {
 }
 
 test_valid_repo() {
-       git fsck-objects --full > fsck.log &&
+       git fsck --full > fsck.log &&
        test `wc -l < fsck.log` = 0
 }
 
@@ -53,12 +53,18 @@ git prune'
 
 cd "$base_dir"
 
-test_expect_failure 'creating too deep nesting' \
+test_expect_success 'creating too deep nesting' \
 'git clone -l -s C D &&
 git clone -l -s D E &&
 git clone -l -s E F &&
 git clone -l -s F G &&
-test_valid_repo'
+git clone -l -s G H'
+
+test_expect_success 'invalidity of deepest repository' \
+'cd H && {
+       test_valid_repo
+       test $? -ne 0
+}'
 
 cd "$base_dir"
 
@@ -81,10 +87,10 @@ test_valid_repo"
 
 cd "$base_dir"
 
-test_expect_failure 'that info/alternates is necessary' \
+test_expect_success 'that info/alternates is necessary' \
 'cd C &&
-rm .git/objects/info/alternates &&
-test_valid_repo'
+rm -f .git/objects/info/alternates &&
+! (test_valid_repo)'
 
 cd "$base_dir"
 
@@ -95,11 +101,12 @@ test_valid_repo'
 
 cd "$base_dir"
 
-test_expect_failure 'that relative alternate is only possible for current dir' \
-'cd D &&
-test_valid_repo'
+test_expect_success \
+    'that relative alternate is only possible for current dir' '
+    cd D &&
+    ! (test_valid_repo)
+'
 
 cd "$base_dir"
 
 test_done
-