/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_repository.py

  • Committer: Andrew Bennetts
  • Date: 2008-11-11 00:03:17 UTC
  • mto: (3735.9.9 fetch)
  • mto: This revision was merged to the branch mainline in revision 4280.
  • Revision ID: andrew.bennetts@canonical.com-20081111000317-ufw8r6drmobmqtyn
Add _find_revision_outside_set.

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
                           UnsupportedFormatError,
33
33
                           )
34
34
from bzrlib import graph
 
35
from bzrlib.branchbuilder import BranchBuilder
35
36
from bzrlib.btree_index import BTreeBuilder, BTreeGraphIndex
36
37
from bzrlib.index import GraphIndex, InMemoryGraphIndex
37
38
from bzrlib.repository import RepositoryFormat
687
688
            repo.chk_bytes.keys())
688
689
 
689
690
 
 
691
class TestDevelopment3FindRevisionOutsideSet(TestCaseWithTransport):
 
692
    """Tests for _find_revision_outside_set."""
 
693
 
 
694
    def setUp(self):
 
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)
 
702
        
 
703
    def assertRevisionOutsideSet(self, expected_result, rev_set):
 
704
        self.assertEqual(
 
705
            expected_result, self.repo._find_revision_outside_set(rev_set))
 
706
 
 
707
    def test_simple(self):
 
708
        self.builder.build_snapshot('revid1', None, [])
 
709
        self.builder.build_snapshot('revid2', None, [])
 
710
        rev_set = ['revid2']
 
711
        self.assertRevisionOutsideSet('revid1', rev_set)
 
712
 
 
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)
 
719
 
 
720
    def test_not_null(self):
 
721
        rev_set = ['initial']
 
722
        self.assertRevisionOutsideSet(_mod_revision.NULL_REVISION, rev_set)
 
723
 
 
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)
 
728
 
 
729
    def test_ghost(self):
 
730
        self.builder.build_snapshot('revid1', None, [])
 
731
        rev_set = ['ghost', 'revid1']
 
732
        self.assertRevisionOutsideSet('initial', rev_set)
 
733
 
 
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)
 
739
 
 
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)
 
747
 
 
748
 
690
749
class TestWithBrokenRepo(TestCaseWithTransport):
691
750
    """These tests seem to be more appropriate as interface tests?"""
692
751