68
69
def test_get_set_default_format(self):
69
70
old_default = bzrdir.format_registry.get('default')
70
71
private_default = old_default().repository_format.__class__
71
old_format = repository.RepositoryFormat.get_default_format()
72
old_format = repository.format_registry.get_default()
72
73
self.assertTrue(isinstance(old_format, private_default))
73
74
def make_sample_bzrdir():
74
75
my_bzrdir = bzrdir.BzrDirMetaFormat1()
148
158
def test_register_unregister_format(self):
159
# Test deprecated format registration functions
149
160
format = SampleRepositoryFormat()
150
161
# make a control dir
151
162
dir = bzrdir.BzrDirMetaFormat1().initialize(self.get_url())
153
164
format.initialize(dir)
154
165
# register a format for it.
155
repository.RepositoryFormat.register_format(format)
166
self.applyDeprecated(symbol_versioning.deprecated_in((2, 4, 0)),
167
repository.RepositoryFormat.register_format, format)
156
168
# which repository.Open will refuse (not supported)
157
self.assertRaises(UnsupportedFormatError, repository.Repository.open, self.get_url())
169
self.assertRaises(UnsupportedFormatError, repository.Repository.open,
158
171
# but open(unsupported) will work
159
172
self.assertEqual(format.open(dir), "opened repository.")
160
173
# unregister the format
161
repository.RepositoryFormat.unregister_format(format)
174
self.applyDeprecated(symbol_versioning.deprecated_in((2, 4, 0)),
175
repository.RepositoryFormat.unregister_format, format)
178
class TestRepositoryFormatRegistry(TestCase):
181
super(TestRepositoryFormatRegistry, self).setUp()
182
self.registry = repository.RepositoryFormatRegistry()
184
def test_register_unregister_format(self):
185
format = SampleRepositoryFormat()
186
self.registry.register(format)
187
self.assertEquals(format, self.registry.get("Sample .bzr repository format."))
188
self.registry.remove(format)
189
self.assertRaises(KeyError, self.registry.get, "Sample .bzr repository format.")
191
def test_get_all(self):
192
format = SampleRepositoryFormat()
193
self.assertEquals([], self.registry._get_all())
194
self.registry.register(format)
195
self.assertEquals([format], self.registry._get_all())
197
def test_register_extra(self):
198
format = SampleExtraRepositoryFormat()
199
self.assertEquals([], self.registry._get_all())
200
self.registry.register_extra(format)
201
self.assertEquals([format], self.registry._get_all())
203
def test_register_extra_lazy(self):
204
self.assertEquals([], self.registry._get_all())
205
self.registry.register_extra_lazy("bzrlib.tests.test_repository",
206
"SampleExtraRepositoryFormat")
207
formats = self.registry._get_all()
208
self.assertEquals(1, len(formats))
209
self.assertIsInstance(formats[0], SampleExtraRepositoryFormat)
164
212
class TestFormat6(TestCaseWithTransport):
682
730
class Test2a(tests.TestCaseWithMemoryTransport):
732
def test_chk_bytes_uses_custom_btree_parser(self):
733
mt = self.make_branch_and_memory_tree('test', format='2a')
735
self.addCleanup(mt.unlock)
736
mt.add([''], ['root-id'])
738
index = mt.branch.repository.chk_bytes._index._graph_index._indices[0]
739
self.assertEqual(btree_index._gcchk_factory, index._leaf_factory)
740
# It should also work if we re-open the repo
741
repo = mt.branch.repository.bzrdir.open_repository()
743
self.addCleanup(repo.unlock)
744
index = repo.chk_bytes._index._graph_index._indices[0]
745
self.assertEqual(btree_index._gcchk_factory, index._leaf_factory)
684
747
def test_fetch_combines_groups(self):
685
748
builder = self.make_branch_builder('source', format='2a')
686
749
builder.start_series()
957
1020
def setUp(self):
958
1021
super(TestDevelopment6FindParentIdsOfRevisions, self).setUp()
959
self.builder = self.make_branch_builder('source',
960
format='development6-rich-root')
1022
self.builder = self.make_branch_builder('source')
961
1023
self.builder.start_series()
962
1024
self.builder.build_snapshot('initial', None,
963
1025
[('add', ('', 'tree-root', 'directory', None))])
1644
1706
self.orig_pack = target.pack
1645
1707
target.pack = self.log_pack
1646
1708
search = target.search_missing_revision_ids(
1647
source_tree.branch.repository, tip)
1709
source_tree.branch.repository, revision_ids=[tip])
1648
1710
stream = source.get_stream(search)
1649
1711
from_format = source_tree.branch.repository._format
1650
1712
sink = target._get_sink()