556
560
missing_ghost.get_inventory, 'ghost')
558
562
def make_write_ready_repo(self):
559
repo = self.make_repository('.', format=self.get_format())
563
format = self.get_format()
564
if isinstance(format.repository_format, RepositoryFormatCHK1):
565
raise TestNotApplicable("No missing compression parents")
566
repo = self.make_repository('.', format=format)
560
567
repo.lock_write()
568
self.addCleanup(repo.unlock)
561
569
repo.start_write_group()
570
self.addCleanup(repo.abort_write_group)
564
573
def test_missing_inventories_compression_parent_prevents_commit(self):
565
574
repo = self.make_write_ready_repo()
567
if not getattr(repo.inventories._index, '_missing_compression_parents',
569
raise TestSkipped("No missing compression parents")
570
576
repo.inventories._index._missing_compression_parents.add(key)
571
577
self.assertRaises(errors.BzrCheckError, repo.commit_write_group)
572
578
self.assertRaises(errors.BzrCheckError, repo.commit_write_group)
573
repo.abort_write_group()
576
580
def test_missing_revisions_compression_parent_prevents_commit(self):
577
581
repo = self.make_write_ready_repo()
579
if not getattr(repo.inventories._index, '_missing_compression_parents',
581
raise TestSkipped("No missing compression parents")
582
583
repo.revisions._index._missing_compression_parents.add(key)
583
584
self.assertRaises(errors.BzrCheckError, repo.commit_write_group)
584
585
self.assertRaises(errors.BzrCheckError, repo.commit_write_group)
585
repo.abort_write_group()
588
587
def test_missing_signatures_compression_parent_prevents_commit(self):
589
588
repo = self.make_write_ready_repo()
591
if not getattr(repo.inventories._index, '_missing_compression_parents',
593
raise TestSkipped("No missing compression parents")
594
590
repo.signatures._index._missing_compression_parents.add(key)
595
591
self.assertRaises(errors.BzrCheckError, repo.commit_write_group)
596
592
self.assertRaises(errors.BzrCheckError, repo.commit_write_group)
597
repo.abort_write_group()
600
594
def test_missing_text_compression_parent_prevents_commit(self):
601
595
repo = self.make_write_ready_repo()
602
596
key = ('some', 'junk')
603
if not getattr(repo.inventories._index, '_missing_compression_parents',
605
raise TestSkipped("No missing compression parents")
606
597
repo.texts._index._missing_compression_parents.add(key)
607
598
self.assertRaises(errors.BzrCheckError, repo.commit_write_group)
608
599
e = self.assertRaises(errors.BzrCheckError, repo.commit_write_group)
609
repo.abort_write_group()
612
601
def test_supports_external_lookups(self):
613
602
repo = self.make_repository('.', format=self.get_format())