chiark / gitweb /
test suite: Test bad commit defence in drs-push-rejects
[dgit.git] / tests / tests / drs-push-rejects
index f87cbdcbefc5f873b32c74b3b36e830534c30dae..7b7c5f32a2a3c8e093e5f0b0669055c01e6777e1 100755 (executable)
@@ -139,6 +139,18 @@ mktag
 mustfail 'tag name in tag is wrong' \
        refs/tags/$tagpfx/wombat:refs/tags/$tagpfx/$version $push_spec1
 
 mustfail 'tag name in tag is wrong' \
        refs/tags/$tagpfx/wombat:refs/tags/$tagpfx/$version $push_spec1
 
+echo ====
+badcommit=$(
+       git cat-file commit HEAD | \
+       perl -pe 's/^committer.*\n//' | \
+       git hash-object -w -t commit --stdin
+)
+git checkout -b broken $badcommit
+prep unstable sid
+mktag
+mustfail "corrupted object $badcommit" $push_spec
+
+git checkout dgit/sid
 prep unstable sid
 mktag
 mustsucceed $push_spec # succeeds
 prep unstable sid
 mktag
 mustsucceed $push_spec # succeeds