Add a base implementation of SHA-256 support
[gitweb.git] / t / t5504-fetch-receive-strict.sh
index 38aaf3b928cff4d3b2e3d516ad1bd6c11e31eb87..7bc706873c5b2341f6a0922cf2e4f79d34eee97c 100755 (executable)
@@ -169,27 +169,46 @@ test_expect_success 'fsck with invalid or bogus skipList input' '
        test_i18ngrep "Invalid SHA-1: \[core\]" err
 '
 
-test_expect_success 'fsck with invalid or bogus skipList input (comments & empty lines)' '
+test_expect_success 'fsck with other accepted skipList input (comments & empty lines)' '
        cat >SKIP.with-comment <<-EOF &&
        # Some bad commit
        0000000000000000000000000000000000000001
        EOF
        test_must_fail git -c fsck.skipList=SKIP.with-comment fsck 2>err-with-comment &&
-       test_i18ngrep "^fatal: Invalid SHA-1: # Some bad commit$" err-with-comment &&
+       test_i18ngrep "missingEmail" err-with-comment &&
        cat >SKIP.with-empty-line <<-EOF &&
        0000000000000000000000000000000000000001
 
        0000000000000000000000000000000000000002
        EOF
        test_must_fail git -c fsck.skipList=SKIP.with-empty-line fsck 2>err-with-empty-line &&
-       test_i18ngrep "^fatal: Invalid SHA-1: " err-with-empty-line
+       test_i18ngrep "missingEmail" err-with-empty-line
 '
 
-test_expect_failure 'fsck no garbage output from comments & empty lines errors' '
+test_expect_success 'fsck no garbage output from comments & empty lines errors' '
        test_line_count = 1 err-with-comment &&
        test_line_count = 1 err-with-empty-line
 '
 
+test_expect_success 'fsck with invalid abbreviated skipList input' '
+       echo $commit | test_copy_bytes 20 >SKIP.abbreviated &&
+       test_must_fail git -c fsck.skipList=SKIP.abbreviated fsck 2>err-abbreviated &&
+       test_i18ngrep "^fatal: Invalid SHA-1: " err-abbreviated
+'
+
+test_expect_success 'fsck with exhaustive accepted skipList input (various types of comments etc.)' '
+       >SKIP.exhaustive &&
+       echo "# A commented line" >>SKIP.exhaustive &&
+       echo "" >>SKIP.exhaustive &&
+       echo " " >>SKIP.exhaustive &&
+       echo " # Comment after whitespace" >>SKIP.exhaustive &&
+       echo "$commit # Our bad commit (with leading whitespace and trailing comment)" >>SKIP.exhaustive &&
+       echo "# Some bad commit (leading whitespace)" >>SKIP.exhaustive &&
+       echo "  0000000000000000000000000000000000000001" >>SKIP.exhaustive &&
+       git -c fsck.skipList=SKIP.exhaustive fsck 2>err &&
+       test_must_be_empty err
+'
+
 test_expect_success 'push with receive.fsck.skipList' '
        git push . $commit:refs/heads/bogus &&
        rm -rf dst &&