test-lib: allow negation of prerequisites
[gitweb.git] / t / t1512-rev-parse-disambiguation.sh
index 84b8dddbe3774b27c612b19940f7674823750d33..6b3d797ceabad069aefd1337ffe366b86b523412 100755 (executable)
@@ -75,7 +75,7 @@ test_expect_success 'disambiguate blob' '
        test_cmp a0blgqsjc actual
 '
 
-test_expect_failure 'disambiguate tree' '
+test_expect_success 'disambiguate tree' '
        commit=$(echo "d7xm" | git commit-tree 000000000) &&
        test $(git rev-parse $commit^{tree}) = $(git rev-parse 0000000000cdc)
 '
@@ -97,8 +97,8 @@ test_expect_success 'disambiguate commit-ish' '
        git rev-parse --verify 000000000^0
 '
 
-test_expect_failure 'disambiguate commit' '
-       commit=$(echo "j9xqh" | git commit-tree 0000000000cdc -p 000000000) &&
+test_expect_success 'disambiguate commit' '
+       commit=$(echo "hoaxj" | git commit-tree 0000000000cdc -p 000000000) &&
        test $(git rev-parse $commit^) = $(git rev-parse 0000000000e4f)
 '
 
@@ -111,7 +111,7 @@ test_expect_success 'log name1..name2 takes only commit-ishes on both ends' '
        git log 000000000...
 '
 
-test_expect_failure 'rev-parse name1..name2 takes only commit-ishes on both ends' '
+test_expect_success 'rev-parse name1..name2 takes only commit-ishes on both ends' '
        git rev-parse 000000000..000000000 &&
        git rev-parse ..000000000 &&
        git rev-parse 000000000..
@@ -121,7 +121,7 @@ test_expect_success 'git log takes only commit-ish' '
        git log 000000000
 '
 
-test_expect_failure 'git reset takes only commit-ish' '
+test_expect_success 'git reset takes only commit-ish' '
        git reset 000000000
 '
 
@@ -252,4 +252,13 @@ test_expect_success 'ambiguous commit-ish' '
        test_must_fail git log 000000000...
 '
 
+test_expect_success 'rev-parse --disambiguate' '
+       # The test creates 16 objects that share the prefix and two
+       # commits created by commit-tree in earlier tests share a
+       # different prefix.
+       git rev-parse --disambiguate=000000000 >actual &&
+       test $(wc -l <actual) = 16 &&
+       test "$(sed -e "s/^\(.........\).*/\1/" actual | sort -u)" = 000000000
+'
+
 test_done