Rev 4500: Fix selftest -s xxx --load yyy usage. in file:///home/vila/src/bzr/bugs/selftest/

Vincent Ladeuil v.ladeuil+lp at free.fr
Wed Jul 1 16:50:52 BST 2009


At file:///home/vila/src/bzr/bugs/selftest/

------------------------------------------------------------
revno: 4500
revision-id: v.ladeuil+lp at free.fr-20090701155051-cdot7qlvboqvls57
parent: v.ladeuil+lp at free.fr-20090701142156-ug84cvkaf7d6xqfm
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: selftest
timestamp: Wed 2009-07-01 17:50:51 +0200
message:
  Fix selftest -s xxx --load yyy usage.
  
  * bzrlib/tests/__init__.py:
  (test_suite): Fix a regression that forbids using --load with
  --starting-with.
  
  * bzrlib/tests/test_selftest.py:
  (TestTestSuite): Add a test using both keep_only and strting_with
  to reproduce the bug.
-------------- next part --------------
=== modified file 'bzrlib/tests/__init__.py'
--- a/bzrlib/tests/__init__.py	2009-06-29 15:25:08 +0000
+++ b/bzrlib/tests/__init__.py	2009-07-01 15:50:51 +0000
@@ -3508,6 +3508,8 @@
 
     loader = TestUtil.TestLoader()
 
+    if keep_only is not None:
+        id_filter = TestIdList(keep_only)
     if starting_with:
         starting_with = [test_prefix_alias_registry.resolve_alias(start)
                          for start in starting_with]
@@ -3526,7 +3528,6 @@
         loader = TestUtil.FilteredByModuleTestLoader(interesting_module)
 
     elif keep_only is not None:
-        id_filter = TestIdList(keep_only)
         loader = TestUtil.FilteredByModuleTestLoader(id_filter.refers_to)
         def interesting_module(name):
             return id_filter.refers_to(name)

=== modified file 'bzrlib/tests/test_selftest.py'
--- a/bzrlib/tests/test_selftest.py	2009-07-01 14:21:56 +0000
+++ b/bzrlib/tests/test_selftest.py	2009-07-01 15:50:51 +0000
@@ -2170,24 +2170,6 @@
         self.assertTrue(id_list.refers_to('mod.class'))
         self.assertTrue(id_list.refers_to('mod.class.meth'))
 
-    def test_test_suite(self):
-        # This test is slow, so we do a single test with one test in each
-        # category
-        test_list = [
-            # testmod_names
-            'bzrlib.tests.blackbox.test_branch.TestBranch.test_branch',
-            'bzrlib.tests.test_selftest.TestTestIdList.test_test_suite',
-            # transport implementations
-            'bzrlib.tests.test_transport_implementations.TransportTests'
-            '.test_abspath(LocalURLServer)',
-            # modules_to_doctest
-            'bzrlib.timestamp.format_highres_date',
-            # plugins can't be tested that way since selftest may be run with
-            # --no-plugins
-            ]
-        suite = tests.test_suite(test_list)
-        self.assertEquals(test_list, _test_ids(suite))
-
     def test_test_suite_matches_id_list_with_unknown(self):
         loader = TestUtil.TestLoader()
         suite = loader.loadTestsFromModuleName('bzrlib.tests.test_sampler')
@@ -2213,6 +2195,34 @@
                           duplicates)
 
 
+class TestTestSuite(tests.TestCase):
+
+    def test_test_suite(self):
+        # This test is slow, so we do a single test with one test in each
+        # category
+        test_list = [
+            # testmod_names
+            'bzrlib.tests.blackbox.test_branch.TestBranch.test_branch',
+            'bzrlib.tests.test_selftest.TestTestSuite.test_test_suite',
+            # transport implementations
+            'bzrlib.tests.test_transport_implementations.TransportTests'
+            '.test_abspath(LocalURLServer)',
+            # modules_to_doctest
+            'bzrlib.timestamp.format_highres_date',
+            # plugins can't be tested that way since selftest may be run with
+            # --no-plugins
+            ]
+        suite = tests.test_suite(test_list)
+        self.assertEquals(test_list, _test_ids(suite))
+
+    def test_test_suite_list_and_start(self):
+        test_list = ['bzrlib.tests.test_selftest.TestTestSuite.test_test_suite']
+        suite = tests.test_suite(test_list,
+                                 ['bzrlib.tests.test_selftest.TestTestSuite'])
+        # test_test_suite_list_and_start is not included 
+        self.assertEquals(test_list, _test_ids(suite))
+
+
 class TestLoadTestIdList(tests.TestCaseInTempDir):
 
     def _create_test_list_file(self, file_name, content):



More information about the bazaar-commits mailing list