/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: Aaron Bentley
  • Date: 2008-02-24 16:42:13 UTC
  • mfrom: (3234 +trunk)
  • mto: This revision was merged to the branch mainline in revision 3235.
  • Revision ID: aaron@aaronbentley.com-20080224164213-eza1lzru5bwuwmmj
Merge with bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
                           UnknownFormatError,
33
33
                           UnsupportedFormatError,
34
34
                           )
 
35
from bzrlib import graph
35
36
from bzrlib.index import GraphIndex, InMemoryGraphIndex
36
37
from bzrlib.repository import RepositoryFormat
37
38
from bzrlib.smart import server
47
48
    bzrdir,
48
49
    errors,
49
50
    inventory,
 
51
    progress,
50
52
    repository,
51
53
    revision as _mod_revision,
52
54
    symbol_versioning,
174
176
        self.assertRaises(errors.OutSideTransaction,
175
177
            inv.add_lines, 'foo', [], [])
176
178
 
 
179
    def test_supports_external_lookups(self):
 
180
        control = bzrdir.BzrDirFormat6().initialize(self.get_url())
 
181
        repo = weaverepo.RepositoryFormat6().initialize(control)
 
182
        self.assertFalse(repo._format.supports_external_lookups)
 
183
 
177
184
 
178
185
class TestFormat7(TestCaseWithTransport):
179
186
    
287
294
        self.assertRaises(errors.OutSideTransaction,
288
295
            inv.add_lines, 'foo', [], [])
289
296
 
 
297
    def test_supports_external_lookups(self):
 
298
        control = bzrdir.BzrDirMetaFormat1().initialize(self.get_url())
 
299
        repo = weaverepo.RepositoryFormat7().initialize(control)
 
300
        self.assertFalse(repo._format.supports_external_lookups)
 
301
 
290
302
 
291
303
class TestFormatKnit1(TestCaseWithTransport):
292
304
    
397
409
        # Arguably, the deserialise_inventory should detect a mismatch, and
398
410
        # raise an error, rather than silently using one revision_id over the
399
411
        # other.
400
 
        inv = repo.deserialise_inventory('test-rev-id', inv_xml)
 
412
        self.assertRaises(AssertionError, repo.deserialise_inventory,
 
413
            'test-rev-id', inv_xml)
 
414
        inv = repo.deserialise_inventory('other-rev-id', inv_xml)
401
415
        self.assertEqual('other-rev-id', inv.root.revision)
402
416
 
 
417
    def test_supports_external_lookups(self):
 
418
        repo = self.make_repository('.',
 
419
                format=bzrdir.format_registry.get('knit')())
 
420
        self.assertFalse(repo._format.supports_external_lookups)
 
421
 
403
422
 
404
423
class KnitRepositoryStreamTests(test_knit.KnitTests):
405
424
    """Tests for knitrepo._get_stream_as_bytes."""
673
692
        self.assertRaises(errors.OutSideTransaction,
674
693
            inv.add_lines, 'foo', [], [])
675
694
 
 
695
    def test_supports_external_lookups(self):
 
696
        format = bzrdir.BzrDirMetaFormat1()
 
697
        format.repository_format = knitrepo.RepositoryFormatKnit3()
 
698
        repo = self.make_repository('.', format=format)
 
699
        self.assertFalse(repo._format.supports_external_lookups)
 
700
 
676
701
 
677
702
class TestWithBrokenRepo(TestCaseWithTransport):
678
703
    """These tests seem to be more appropriate as interface tests?"""
754
779
        """
755
780
        broken_repo = self.make_broken_repository()
756
781
        empty_repo = self.make_repository('empty-repo')
757
 
        stream = broken_repo.get_data_stream(['rev1a', 'rev2', 'rev3'])
 
782
        search = graph.SearchResult(set(['rev1a', 'rev2', 'rev3']),
 
783
            set(), 3, ['rev1a', 'rev2', 'rev3'])
 
784
        stream = broken_repo.get_data_stream_for_search(search)
758
785
        empty_repo.lock_write()
759
786
        self.addCleanup(empty_repo.unlock)
760
787
        empty_repo.start_write_group()
1165
1192
        self.assertRaises(errors.RevisionNotPresent,
1166
1193
            missing_ghost.get_inventory, 'ghost')
1167
1194
 
 
1195
    def test_supports_external_lookups(self):
 
1196
        repo = self.make_repository('.', format=self.get_format())
 
1197
        self.assertFalse(repo._format.supports_external_lookups)
 
1198
 
1168
1199
 
1169
1200
class TestKnitPackSubtrees(TestKnitPackNoSubtrees):
1170
1201
 
1178
1209
            t.get('format').read())
1179
1210
 
1180
1211
 
 
1212
class TestDevelopment0(TestKnitPackNoSubtrees):
 
1213
 
 
1214
    def get_format(self):
 
1215
        return bzrdir.format_registry.make_bzrdir(
 
1216
            'development')
 
1217
 
 
1218
    def check_format(self, t):
 
1219
        self.assertEqualDiff(
 
1220
            "Bazaar development format 0 (needs bzr.dev from before 1.3)\n",
 
1221
            t.get('format').read())
 
1222
 
 
1223
 
 
1224
class TestDevelopment0Subtree(TestKnitPackNoSubtrees):
 
1225
 
 
1226
    def get_format(self):
 
1227
        return bzrdir.format_registry.make_bzrdir(
 
1228
            'development-subtree')
 
1229
 
 
1230
    def check_format(self, t):
 
1231
        self.assertEqualDiff(
 
1232
            "Bazaar development format 0 with subtree support "
 
1233
            "(needs bzr.dev from before 1.3)\n",
 
1234
            t.get('format').read())
 
1235
 
 
1236
 
1181
1237
class TestRepositoryPackCollection(TestCaseWithTransport):
1182
1238
 
1183
1239
    def get_format(self):
1431
1487
 
1432
1488
    # To date, this class has been factored out and nothing new added to it;
1433
1489
    # thus there are not yet any tests.
 
1490
 
 
1491
 
 
1492
class TestInterDifferingSerializer(TestCaseWithTransport):
 
1493
 
 
1494
    def test_progress_bar(self):
 
1495
        tree = self.make_branch_and_tree('tree')
 
1496
        tree.commit('rev1', rev_id='rev-1')
 
1497
        tree.commit('rev2', rev_id='rev-2')
 
1498
        tree.commit('rev3', rev_id='rev-3')
 
1499
        repo = self.make_repository('repo')
 
1500
        inter_repo = repository.InterDifferingSerializer(
 
1501
            tree.branch.repository, repo)
 
1502
        pb = progress.InstrumentedProgress(to_file=StringIO())
 
1503
        pb.never_throttle = True
 
1504
        inter_repo.fetch('rev-1', pb)
 
1505
        self.assertEqual('Transferring revisions', pb.last_msg)
 
1506
        self.assertEqual(1, pb.last_cnt)
 
1507
        self.assertEqual(1, pb.last_total)
 
1508
        inter_repo.fetch('rev-3', pb)
 
1509
        self.assertEqual(2, pb.last_cnt)
 
1510
        self.assertEqual(2, pb.last_total)