fsck: add a simple test for receive.fsck.<msg-id>
[gitweb.git] / t / t5504-fetch-receive-strict.sh
index 69ee13c8bebbdb1303378288597420cdf70b7b88..36024fc51aa30cbe993d6e7455f4bf6f69fd491b 100755 (executable)
@@ -115,4 +115,25 @@ test_expect_success 'push with transfer.fsckobjects' '
        test_cmp exp act
 '
 
+cat >bogus-commit <<\EOF
+tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
+author Bugs Bunny 1234567890 +0000
+committer Bugs Bunny <bugs@bun.ni> 1234567890 +0000
+
+This commit object intentionally broken
+EOF
+
+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 &&
+       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.missingEmail warn &&
+       git push --porcelain dst bogus >act 2>&1 &&
+       grep "missingEmail" act
+'
+
 test_done