~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/per_repository/test_repository.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-02-11 04:02:41 UTC
  • mfrom: (5017.2.2 tariff)
  • Revision ID: pqm@pqm.ubuntu.com-20100211040241-w6n021dz0uus341n
(mbp) add import-tariff tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
43
43
    pack_repo,
44
44
    weaverepo,
45
45
    )
46
 
from bzrlib.tests import (
47
 
    per_repository,
48
 
    test_server,
49
 
    )
50
 
from bzrlib.tests.matchers import *
 
46
from bzrlib.smart import server
 
47
from bzrlib.tests import per_repository
 
48
from bzrlib.transport.fakevfat import FakeVFATServer
51
49
 
52
50
 
53
51
class TestRepositoryMakeBranchAndTree(per_repository.TestCaseWithRepository):
725
723
        self.assertTrue('ghost' not in parents)
726
724
        self.assertEqual(parents['rev2'], ('rev1', 'ghost'))
727
725
 
728
 
    def test_get_known_graph_ancestry(self):
729
 
        tree = self.make_branch_and_tree('here')
730
 
        tree.lock_write()
731
 
        self.addCleanup(tree.unlock)
732
 
        # A
733
 
        # |\
734
 
        # | B
735
 
        # |/
736
 
        # C
737
 
        tree.commit('initial commit', rev_id='A')
738
 
        tree_other = tree.bzrdir.sprout('there').open_workingtree()
739
 
        tree_other.commit('another', rev_id='B')
740
 
        tree.merge_from_branch(tree_other.branch)
741
 
        tree.commit('another', rev_id='C')
742
 
        kg = tree.branch.repository.get_known_graph_ancestry(
743
 
            ['C'])
744
 
        self.assertEqual(['C'], list(kg.heads(['A', 'B', 'C'])))
745
 
        self.assertEqual(['A', 'B', 'C'], list(kg.topo_sort()))
746
 
 
747
726
    def test_parent_map_type(self):
748
727
        tree = self.make_branch_and_tree('here')
749
728
        tree.lock_write()
844
823
        """Make a RemoteRepository object backed by a real repository that will
845
824
        be created at the given path."""
846
825
        repo = self.make_repository(path, shared=shared)
847
 
        smart_server = test_server.SmartTCPServer_for_testing()
 
826
        smart_server = server.SmartTCPServer_for_testing()
848
827
        self.start_server(smart_server, self.get_server())
849
828
        remote_transport = transport.get_transport(
850
829
            smart_server.get_url()).clone(path)
1088
1067
        repo = self.make_repository('r')
1089
1068
        # Lock the repository, then use leave_lock_in_place so that when we
1090
1069
        # unlock the repository the lock is still held on disk.
1091
 
        token = repo.lock_write().repository_token
 
1070
        token = repo.lock_write()
1092
1071
        try:
1093
1072
            if token is None:
1094
1073
                # This test does not apply, because this repository refuses lock
1108
1087
    def test_dont_leave_lock_in_place(self):
1109
1088
        repo = self.make_repository('r')
1110
1089
        # Create a lock on disk.
1111
 
        token = repo.lock_write().repository_token
 
1090
        token = repo.lock_write()
1112
1091
        try:
1113
1092
            if token is None:
1114
1093
                # This test does not apply, because this repository refuses lock
1142
1121
        repo.lock_read()
1143
1122
        repo.unlock()
1144
1123
 
1145
 
    def test_lock_read_returns_unlockable(self):
1146
 
        repo = self.make_repository('r')
1147
 
        self.assertThat(repo.lock_read, ReturnsUnlockable(repo))
1148
 
 
1149
 
    def test_lock_write_returns_unlockable(self):
1150
 
        repo = self.make_repository('r')
1151
 
        self.assertThat(repo.lock_write, ReturnsUnlockable(repo))
1152
 
 
1153
1124
 
1154
1125
class TestCaseWithComplexRepository(per_repository.TestCaseWithRepository):
1155
1126
 
1324
1295
        # about local disk layout/support.
1325
1296
        if isinstance(self.repository_format, remote.RemoteRepositoryFormat):
1326
1297
            return
1327
 
        self.transport_server = test_server.FakeVFATServer
 
1298
        self.transport_server = FakeVFATServer
1328
1299
        FOO_ID = 'foo<:>ID'
1329
1300
        REV_ID = 'revid-1'
1330
1301
        # this makes a default format repository always, which is wrong:
1351
1322
        fileobj = StringIO()
1352
1323
        wt.branch.repository.create_bundle(
1353
1324
            'rev1', _mod_revision.NULL_REVISION, fileobj)
1354
 
 
1355
 
 
1356
 
 
1357
 
 
1358
 
class TestRepositoryControlComponent(per_repository.TestCaseWithRepository):
1359
 
    """Repository implementations adequately implement ControlComponent."""
1360
 
    
1361
 
    def test_urls(self):
1362
 
        repo = self.make_repository('repo')
1363
 
        self.assertIsInstance(repo.user_url, str)
1364
 
        self.assertEqual(repo.user_url, repo.user_transport.base)
1365
 
        # for all current bzrdir implementations the user dir must be 
1366
 
        # above the control dir but we might need to relax that?
1367
 
        self.assertEqual(repo.control_url.find(repo.user_url), 0)
1368
 
        self.assertEqual(repo.control_url, repo.control_transport.base)