git-p4: add gitConfigInt reader
[gitweb.git] / t / t5504-fetch-receive-strict.sh
index 36024fc51aa30cbe993d6e7455f4bf6f69fd491b..44f3d5fb284e9848180df9ed9cfbc44a91762277 100755 (executable)
@@ -123,6 +123,18 @@ committer Bugs Bunny <bugs@bun.ni> 1234567890 +0000
 This commit object intentionally broken
 EOF
 
+test_expect_success 'push with receive.fsck.skipList' '
+       commit="$(git hash-object -t commit -w --stdin <bogus-commit)" &&
+       git push . $commit:refs/heads/bogus &&
+       rm -rf dst &&
+       git init dst &&
+       git --git-dir=dst/.git config receive.fsckObjects true &&
+       test_must_fail git push --porcelain dst bogus &&
+       git --git-dir=dst/.git config receive.fsck.skipList SKIP &&
+       echo $commit >dst/.git/SKIP &&
+       git push --porcelain dst bogus
+'
+
 test_expect_success 'push with receive.fsck.missingEmail=warn' '
        commit="$(git hash-object -t commit -w --stdin <bogus-commit)" &&
        git push . $commit:refs/heads/bogus &&
@@ -133,7 +145,25 @@ test_expect_success 'push with receive.fsck.missingEmail=warn' '
        git --git-dir=dst/.git config \
                receive.fsck.missingEmail warn &&
        git push --porcelain dst bogus >act 2>&1 &&
-       grep "missingEmail" act
+       grep "missingEmail" act &&
+       git --git-dir=dst/.git branch -D bogus &&
+       git --git-dir=dst/.git config --add \
+               receive.fsck.missingEmail ignore &&
+       git --git-dir=dst/.git config --add \
+               receive.fsck.badDate warn &&
+       git push --porcelain dst bogus >act 2>&1 &&
+       test_must_fail grep "missingEmail" act
+'
+
+test_expect_success \
+       'receive.fsck.unterminatedHeader=warn triggers error' '
+       rm -rf dst &&
+       git init dst &&
+       git --git-dir=dst/.git config receive.fsckobjects true &&
+       git --git-dir=dst/.git config \
+               receive.fsck.unterminatedheader warn &&
+       test_must_fail git push --porcelain dst HEAD >act 2>&1 &&
+       grep "Cannot demote unterminatedheader" act
 '
 
 test_done