~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_repository.py

  • Committer: Robert Collins
  • Date: 2007-10-10 00:54:09 UTC
  • mto: This revision was merged to the branch mainline in revision 2933.
  • Revision ID: robertc@robertcollins.net-20071010005409-4o492b9bqzatqfww
Basic implementation of all_packs.

Show diffs side-by-side

added added

removed removed

Lines of Context:
49
49
    upgrade,
50
50
    workingtree,
51
51
    )
52
 
from bzrlib.repofmt import knitrepo, weaverepo
 
52
from bzrlib.repofmt import knitrepo, weaverepo, pack_repo
53
53
 
54
54
 
55
55
class TestDefaultFormat(TestCase):
598
598
        self.assertRaises(errors.OutSideTransaction,
599
599
            inv.add_lines, 'foo', [], [])
600
600
 
 
601
 
601
602
class TestExperimentalNoSubtrees(TestCaseWithTransport):
602
603
 
603
604
    def get_format(self):
764
765
        self.assertEqual(1, len(list(index.iter_all_entries())))
765
766
        self.assertEqual(2, len(tree.branch.repository.all_revision_ids()))
766
767
 
 
768
class TestExperimentalSubtrees(TestExperimentalNoSubtrees):
 
769
 
 
770
    def get_format(self):
 
771
        return bzrdir.format_registry.make_bzrdir('experimental-subtree')
 
772
 
 
773
    def check_format(self, t):
 
774
        self.assertEqualDiff('Bazaar Experimental subtrees\n',
 
775
                             t.get('format').read())
 
776
 
 
777
 
767
778
# TESTS TO WRITE:
768
779
# XXX: signatures must be preserved. add a test.
769
780
# XXX: packs w/o revisions are ignored by autopack
885
896
            existing_packs, [1000, 1000, 10])
886
897
        self.assertEqual([[2, ["single2", "single1"]], [0, []]], pack_operations)
887
898
 
888
 
 
889
 
class TestExperimentalSubtrees(TestExperimentalNoSubtrees):
890
 
 
891
 
    def get_format(self):
892
 
        return bzrdir.format_registry.make_bzrdir('experimental-subtree')
893
 
 
894
 
    def check_format(self, t):
895
 
        self.assertEqualDiff('Bazaar Experimental subtrees\n',
896
 
                             t.get('format').read())
 
899
    def test_all_packs_none(self):
 
900
        format = self.get_format()
 
901
        tree = self.make_branch_and_tree('.', format=format)
 
902
        tree.lock_read()
 
903
        self.addCleanup(tree.unlock)
 
904
        packs = tree.branch.repository._packs
 
905
        packs.ensure_loaded()
 
906
        self.assertEqual([], packs.all_packs())
 
907
 
 
908
    def test_all_packs_one(self):
 
909
        format = self.get_format()
 
910
        tree = self.make_branch_and_tree('.', format=format)
 
911
        tree.commit('start')
 
912
        tree.lock_read()
 
913
        self.addCleanup(tree.unlock)
 
914
        packs = tree.branch.repository._packs
 
915
        packs.ensure_loaded()
 
916
        self.assertEqual([pack_repo.Pack(packs._pack_transport,
 
917
            packs.names()[0], None, None, None, None)], packs.all_packs())
 
918
 
 
919
    def test_all_packs_two(self):
 
920
        format = self.get_format()
 
921
        tree = self.make_branch_and_tree('.', format=format)
 
922
        tree.commit('start')
 
923
        tree.commit('continue')
 
924
        tree.lock_read()
 
925
        self.addCleanup(tree.unlock)
 
926
        packs = tree.branch.repository._packs
 
927
        packs.ensure_loaded()
 
928
        self.assertEqual([
 
929
            pack_repo.Pack(packs._pack_transport,
 
930
                packs.names()[0], None, None, None, None),
 
931
            pack_repo.Pack(packs._pack_transport,
 
932
                packs.names()[1], None, None, None, None),
 
933
            ], packs.all_packs())
 
934
 
 
935
 
 
936
class TestPack(TestCaseWithTransport):
 
937
    """Tests for the Pack object."""
 
938
 
 
939
    def assertCurrentlyEqual(self, left, right):
 
940
        self.assertTrue(left == right)
 
941
        self.assertTrue(right == left)
 
942
        self.assertFalse(left != right)
 
943
        self.assertFalse(right != left)
 
944
 
 
945
    def assertCurrentlyNotEqual(self, left, right):
 
946
        self.assertFalse(left == right)
 
947
        self.assertFalse(right == left)
 
948
        self.assertTrue(left != right)
 
949
        self.assertTrue(right != left)
 
950
 
 
951
    def test___eq____ne__(self):
 
952
        left = pack_repo.Pack()
 
953
        right = pack_repo.Pack()
 
954
        self.assertCurrentlyEqual(left, right)
 
955
        # change all attributes and ensure equality changes as we do.
 
956
        left.revision_index = 'a'
 
957
        self.assertCurrentlyNotEqual(left, right)
 
958
        right.revision_index = 'a'
 
959
        self.assertCurrentlyEqual(left, right)
 
960
        left.inventory_index = 'a'
 
961
        self.assertCurrentlyNotEqual(left, right)
 
962
        right.inventory_index = 'a'
 
963
        self.assertCurrentlyEqual(left, right)
 
964
        left.text_index = 'a'
 
965
        self.assertCurrentlyNotEqual(left, right)
 
966
        right.text_index = 'a'
 
967
        self.assertCurrentlyEqual(left, right)
 
968
        left.signature_index = 'a'
 
969
        self.assertCurrentlyNotEqual(left, right)
 
970
        right.signature_index = 'a'
 
971
        self.assertCurrentlyEqual(left, right)
 
972
        left.name = 'a'
 
973
        self.assertCurrentlyNotEqual(left, right)
 
974
        right.name = 'a'
 
975
        self.assertCurrentlyEqual(left, right)
 
976
        left.transport = 'a'
 
977
        self.assertCurrentlyNotEqual(left, right)
 
978
        right.transport = 'a'
 
979
        self.assertCurrentlyEqual(left, right)