Add tests for adding empty thin packs to object stores.
authorJelmer Vernooij <jelmer@samba.org>
Wed, 2 Jul 2014 23:54:37 +0000 (01:54 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Wed, 2 Jul 2014 23:54:37 +0000 (01:54 +0200)
dulwich/tests/test_object_store.py

index 53120de7e5c7a690b52e85344cf87f5f2dc0ab8e..ae58e4d14d96374f91ed2df32a952655324d2844 100644 (file)
@@ -227,6 +227,15 @@ class MemoryObjectStoreTests(ObjectStoreTests, TestCase):
                          o.get_raw(packed_blob_sha))
 
 
+    def test_add_thin_pack_empty(self):
+        o = MemoryObjectStore()
+
+        f = BytesIO()
+        entries = build_pack(f, [], store=o)
+        self.assertEquals([], entries)
+        o.add_thin_pack(f.read, None)
+
+
 class PackBasedObjectStoreTests(ObjectStoreTests):
 
     def tearDown(self):
@@ -315,12 +324,12 @@ class DiskObjectStoreTests(PackBasedObjectStoreTests, TestCase):
         try:
             blob = make_object(Blob, data='yummy data')
             o.add_object(blob)
-    
+
             f = BytesIO()
             entries = build_pack(f, [
               (REF_DELTA, (blob.id, 'more yummy data')),
               ], store=o)
-            
+
             with o.add_thin_pack(f.read, None) as pack:
                 packed_blob_sha = sha_to_hex(entries[0][3])
                 pack.check_length_and_checksum()
@@ -332,6 +341,14 @@ class DiskObjectStoreTests(PackBasedObjectStoreTests, TestCase):
         finally:
             o.close()
 
+    def test_add_thin_pack_empty(self):
+        o = DiskObjectStore(self.store_dir)
+
+        f = BytesIO()
+        entries = build_pack(f, [], store=o)
+        self.assertEquals([], entries)
+        o.add_thin_pack(f.read, None)
+
 
 class TreeLookupPathTests(TestCase):