687
688
repo.chk_bytes.keys())
691
class TestDevelopment3FindRevisionOutsideSet(TestCaseWithTransport):
692
"""Tests for _find_revision_outside_set."""
695
super(TestDevelopment3FindRevisionOutsideSet, self).setUp()
696
self.builder = self.make_branch_builder('source', format='development3')
697
self.builder.start_series()
698
self.builder.build_snapshot('initial', None,
699
[('add', ('', 'tree-root', 'directory', None))])
700
self.repo = self.builder.get_branch().repository
701
self.addCleanup(self.builder.finish_series)
703
def assertRevisionOutsideSet(self, expected_result, rev_set):
705
expected_result, self.repo._find_revision_outside_set(rev_set))
707
def test_simple(self):
708
self.builder.build_snapshot('revid1', None, [])
709
self.builder.build_snapshot('revid2', None, [])
711
self.assertRevisionOutsideSet('revid1', rev_set)
713
def test_not_first_parent(self):
714
self.builder.build_snapshot('revid1', None, [])
715
self.builder.build_snapshot('revid2', None, [])
716
self.builder.build_snapshot('revid3', None, [])
717
rev_set = ['revid3', 'revid2']
718
self.assertRevisionOutsideSet('revid1', rev_set)
720
def test_not_null(self):
721
rev_set = ['initial']
722
self.assertRevisionOutsideSet(_mod_revision.NULL_REVISION, rev_set)
724
def test_not_null_set(self):
725
self.builder.build_snapshot('revid1', None, [])
726
rev_set = [_mod_revision.NULL_REVISION]
727
self.assertRevisionOutsideSet(_mod_revision.NULL_REVISION, rev_set)
729
def test_ghost(self):
730
self.builder.build_snapshot('revid1', None, [])
731
rev_set = ['ghost', 'revid1']
732
self.assertRevisionOutsideSet('initial', rev_set)
734
def test_ghost_parent(self):
735
self.builder.build_snapshot('revid1', None, [])
736
self.builder.build_snapshot('revid2', ['revid1', 'ghost'], [])
737
rev_set = ['revid2', 'revid1']
738
self.assertRevisionOutsideSet('initial', rev_set)
740
def test_righthand_parent(self):
741
self.builder.build_snapshot('revid1', None, [])
742
self.builder.build_snapshot('revid2a', ['revid1'], [])
743
self.builder.build_snapshot('revid2b', ['revid1'], [])
744
self.builder.build_snapshot('revid3', ['revid2a', 'revid2b'], [])
745
rev_set = ['revid3', 'revid2a']
746
self.assertRevisionOutsideSet('revid2b', rev_set)
690
749
class TestWithBrokenRepo(TestCaseWithTransport):
691
750
"""These tests seem to be more appropriate as interface tests?"""