Rev 3209: Simplify tests.test_suite() in file:///v/home/vila/src/bzr/experimental/selftest/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Mon Feb 4 14:28:41 GMT 2008
At file:///v/home/vila/src/bzr/experimental/selftest/
------------------------------------------------------------
revno: 3209
revision-id:v.ladeuil+lp at free.fr-20080204142837-8o9s7bock7n8ve5u
parent: v.ladeuil+lp at free.fr-20080204092935-dt55mpdyvbyjvu3h
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: selftest
timestamp: Mon 2008-02-04 15:28:37 +0100
message:
Simplify tests.test_suite()
* bzrlib/tests/test_transport_implementations.py:
(load_tests): Parametrize by transport implementations.
* bzrlib/tests/test_read_bundle.py:
Fix some imports.
(load_tests): Parametrize by transport implementations.
* bzrlib/tests/__init__.py:
(MODULES_TO_TEST): Deleted.
(test_suite): Remove duplication now that transport
implementations parametrized tests inplement load_tests().
modified:
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/test_read_bundle.py test_read_bundle.py-20060615211421-ud8cwr1ulgd914zf-1
bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
-------------- next part --------------
=== modified file 'bzrlib/tests/__init__.py'
--- a/bzrlib/tests/__init__.py 2008-01-29 08:21:19 +0000
+++ b/bzrlib/tests/__init__.py 2008-02-04 14:28:37 +0000
@@ -109,7 +109,6 @@
default_transport = LocalURLServer
-MODULES_TO_TEST = []
MODULES_TO_DOCTEST = [
bzrlib.timestamp,
bzrlib.errors,
@@ -2701,6 +2700,7 @@
'bzrlib.tests.test_permissions',
'bzrlib.tests.test_plugins',
'bzrlib.tests.test_progress',
+ 'bzrlib.tests.test_read_bundle',
'bzrlib.tests.test_reconfigure',
'bzrlib.tests.test_reconcile',
'bzrlib.tests.test_registry',
@@ -2736,6 +2736,7 @@
'bzrlib.tests.test_transactions',
'bzrlib.tests.test_transform',
'bzrlib.tests.test_transport',
+ 'bzrlib.tests.test_transport_implementations',
'bzrlib.tests.test_tree',
'bzrlib.tests.test_treebuilder',
'bzrlib.tests.test_tsort',
@@ -2754,10 +2755,6 @@
'bzrlib.tests.test_wsgi',
'bzrlib.tests.test_xml',
]
- test_transport_implementations = [
- 'bzrlib.tests.test_transport_implementations',
- 'bzrlib.tests.test_read_bundle',
- ]
suite = TestUtil.TestSuite()
loader = TestUtil.TestLoader()
@@ -2774,19 +2771,6 @@
mod_suite = filter_suite_by_id_list(mod_suite, id_filter)
suite.addTest(mod_suite)
- # modules adapted for transport implementations
- from bzrlib.tests.test_transport_implementations import TransportTestProviderAdapter
- adapter = TransportTestProviderAdapter()
- if keep_only is None:
- adapt_modules(test_transport_implementations, adapter, loader, suite)
- else:
- for mod in [m for m in test_transport_implementations
- if id_filter.is_module_name_used(m)]:
- mod_suite = TestUtil.TestSuite()
- adapt_modules([mod], adapter, loader, mod_suite)
- mod_suite = filter_suite_by_id_list(mod_suite, id_filter)
- suite.addTest(mod_suite)
-
# modules defining their own test_suite()
for package in [p for p in packages_to_test()
if (keep_only is None
@@ -2796,14 +2780,6 @@
pack_suite = filter_suite_by_id_list(pack_suite, id_filter)
suite.addTest(pack_suite)
- # XXX: MODULES_TO_TEST should be obsoleted ?
- for mod in [m for m in MODULES_TO_TEST
- if keep_only is None or id_filter.is_module_name_used(m)]:
- mod_suite = loader.loadTestsFromModule(mod)
- if keep_only is not None:
- mod_suite = filter_suite_by_id_list(mod_suite, id_filter)
- suite.addTest(mod_suite)
-
for mod in MODULES_TO_DOCTEST:
try:
doc_suite = doctest.DocTestSuite(mod)
=== modified file 'bzrlib/tests/test_read_bundle.py'
--- a/bzrlib/tests/test_read_bundle.py 2007-07-17 13:27:14 +0000
+++ b/bzrlib/tests/test_read_bundle.py 2008-02-04 14:28:37 +0000
@@ -19,30 +19,42 @@
import cStringIO
import os
-import bzrlib.bundle
+from bzrlib import(
+ bundle,
+ bzrdir,
+ errors,
+ tests,
+ transport,
+ urlutils,
+)
from bzrlib.bundle.serializer import write_bundle
-import bzrlib.bzrdir
-import bzrlib.errors as errors
-from bzrlib.tests import TestCaseInTempDir
from bzrlib.tests.test_transport import TestTransportImplementation
-import bzrlib.transport
+from bzrlib.tests.test_transport_implementations import TransportTestProviderAdapter
from bzrlib.transport.memory import MemoryTransport
-import bzrlib.urlutils
+
+
+def load_tests(standard_tests, module, loader):
+ """Multiply tests for tranport implementations."""
+ result = loader.suiteClass()
+ adapter = TransportTestProviderAdapter()
+ for test in tests.iter_suite_tests(standard_tests):
+ result.addTests(adapter.adapt(test))
+ return result
class TestReadBundleFromURL(TestTransportImplementation):
"""Test that read_bundle works properly across multiple transports"""
def get_url(self, relpath=''):
- return bzrlib.urlutils.join(self._server.get_url(), relpath)
+ return urlutils.join(self._server.get_url(), relpath)
def create_test_bundle(self):
self.build_tree(['tree/', 'tree/a', 'tree/subdir/'])
- format = bzrlib.bzrdir.BzrDirFormat.get_default_format()
+ format = bzrdir.BzrDirFormat.get_default_format()
- bzrdir = format.initialize('tree')
- repo = bzrdir.create_repository()
+ abzrdir = format.initialize('tree')
+ repo = abzrdir.create_repository()
branch = repo.bzrdir.create_branch()
wt = branch.bzrdir.create_workingtree()
@@ -67,8 +79,7 @@
wt = self.create_test_bundle()
if wt is None:
return
- info = bzrlib.bundle.read_bundle_from_url(
- unicode(self.get_url('test_bundle')))
+ info = bundle.read_bundle_from_url(unicode(self.get_url('test_bundle')))
revision = info.real_revisions[-1]
self.assertEqual('commit-1', revision.revision_id)
@@ -80,9 +91,7 @@
if wt is None:
return
- self.assertRaises(errors.NotABundle,
- bzrlib.bundle.read_bundle_from_url,
- self.get_url('tree'))
- self.assertRaises(errors.NotABundle,
- bzrlib.bundle.read_bundle_from_url,
- self.get_url('tree/a'))
+ self.assertRaises(errors.NotABundle, bundle.read_bundle_from_url,
+ self.get_url('tree'))
+ self.assertRaises(errors.NotABundle, bundle.read_bundle_from_url,
+ self.get_url('tree/a'))
=== modified file 'bzrlib/tests/test_transport_implementations.py'
--- a/bzrlib/tests/test_transport_implementations.py 2007-12-24 10:31:24 +0000
+++ b/bzrlib/tests/test_transport_implementations.py 2008-02-04 14:28:37 +0000
@@ -31,6 +31,7 @@
from bzrlib import (
errors,
osutils,
+ tests,
urlutils,
)
from bzrlib.errors import (ConnectionError,
@@ -75,10 +76,9 @@
def get_transport_test_permutations(self, module):
"""Get the permutations module wants to have tested."""
if getattr(module, 'get_test_permutations', None) is None:
- raise AssertionError("transport module %s doesn't provide get_test_permutations()"
- % module.__name__)
- ##warning("transport module %s doesn't provide get_test_permutations()"
- ## % module.__name__)
+ raise AssertionError(
+ "transport module %s doesn't provide get_test_permutations()"
+ % module.__name__)
return []
return module.get_test_permutations()
@@ -101,6 +101,14 @@
return result
+def load_tests(standard_tests, module, loader):
+ """Multiply tests for tranport implementations."""
+ result = loader.suiteClass()
+ adapter = TransportTestProviderAdapter()
+ for test in tests.iter_suite_tests(standard_tests):
+ result.addTests(adapter.adapt(test))
+ return result
+
class TransportTests(TestTransportImplementation):
More information about the bazaar-commits
mailing list