~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_selftest.py

Merge in real stacked repository work.

Show diffs side-by-side

added added

removed removed

Lines of Context:
230
230
            adapter.scenarios)
231
231
 
232
232
 
233
 
class TestRepositoryProviderAdapter(TestCase):
 
233
class TestRepositoryParameterisation(TestCase):
234
234
    """A group of tests that test the repository implementation test adapter."""
235
235
 
236
 
    def test_constructor(self):
237
 
        # check that constructor parameters are passed through to the
238
 
        # scenarios.
239
 
        from bzrlib.tests.repository_implementations import RepositoryTestProviderAdapter
240
 
        server1 = "a"
241
 
        server2 = "b"
242
 
        formats = [("c", "C"), ("d", "D")]
243
 
        adapter = RepositoryTestProviderAdapter(server1, server2, formats)
244
 
        self.assertEqual([
245
 
            ('str',
246
 
             {'bzrdir_format': 'C',
247
 
              'repository_format': 'c',
248
 
              'transport_readonly_server': 'b',
249
 
              'transport_server': 'a'}),
250
 
            ('str',
251
 
             {'bzrdir_format': 'D',
252
 
              'repository_format': 'd',
253
 
              'transport_readonly_server': 'b',
254
 
              'transport_server': 'a'})],
255
 
            adapter.scenarios)
256
 
 
257
236
    def test_setting_vfs_transport(self):
258
237
        """The vfs_transport_factory can be set optionally."""
259
 
        from bzrlib.tests.repository_implementations import RepositoryTestProviderAdapter
260
 
        formats = [("a", "b"), ("c", "d")]
261
 
        adapter = RepositoryTestProviderAdapter(None, None, formats,
 
238
        from bzrlib.tests.repository_implementations import formats_to_scenarios
 
239
        scenarios = formats_to_scenarios(
 
240
            [("a", "b"), ("c", "d")],
 
241
            None,
 
242
            None,
262
243
            vfs_transport_factory="vfs")
263
244
        self.assertEqual([
264
245
            ('str',
273
254
              'transport_readonly_server': None,
274
255
              'transport_server': None,
275
256
              'vfs_transport_factory': 'vfs'})],
276
 
            adapter.scenarios)
 
257
            scenarios)
277
258
 
278
259
    def test_formats_to_scenarios(self):
279
260
        """The adapter can generate all the scenarios needed."""
280
 
        from bzrlib.tests.repository_implementations import RepositoryTestProviderAdapter
281
 
        no_vfs_adapter = RepositoryTestProviderAdapter("server", "readonly",
282
 
            [], None)
283
 
        vfs_adapter = RepositoryTestProviderAdapter("server", "readonly",
284
 
            [], vfs_transport_factory="vfs")
 
261
        from bzrlib.tests.repository_implementations import formats_to_scenarios
 
262
        formats = [("c", "C"), (1, "D")]
 
263
        no_vfs_scenarios = formats_to_scenarios(formats, "server", "readonly",
 
264
            None)
 
265
        vfs_scenarios = formats_to_scenarios(formats, "server", "readonly",
 
266
            vfs_transport_factory="vfs")
285
267
        # no_vfs generate scenarios without vfs_transport_factor
286
 
        formats = [("c", "C"), (1, "D")]
287
268
        self.assertEqual([
288
269
            ('str',
289
270
             {'bzrdir_format': 'C',
295
276
              'repository_format': 1,
296
277
              'transport_readonly_server': 'readonly',
297
278
              'transport_server': 'server'})],
298
 
            no_vfs_adapter.formats_to_scenarios(formats))
 
279
            no_vfs_scenarios)
299
280
        self.assertEqual([
300
281
            ('str',
301
282
             {'bzrdir_format': 'C',
309
290
              'transport_readonly_server': 'readonly',
310
291
              'transport_server': 'server',
311
292
              'vfs_transport_factory': 'vfs'})],
312
 
            vfs_adapter.formats_to_scenarios(formats))
 
293
            vfs_scenarios)
313
294
 
314
295
 
315
296
class TestTestScenarioApplier(TestCase):