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