]> granicus.if.org Git - python/commitdiff
Adding a test for unittest test discovery with dotted path name.
authorMichael Foord <fuzzyman@voidspace.org.uk>
Fri, 7 May 2010 15:34:08 +0000 (15:34 +0000)
committerMichael Foord <fuzzyman@voidspace.org.uk>
Fri, 7 May 2010 15:34:08 +0000 (15:34 +0000)
Lib/unittest/main.py
Lib/unittest/test/test_program.py

index 747aad206494a63775cd0795e83d0cc34c75c102..74d875cb1d4c769aa068740ec09c1956a60e58ab 100644 (file)
@@ -70,10 +70,10 @@ class TestProgram(object):
     # defaults for testing
     failfast = catchbreak = buffer = None
 
-    def __init__(self, module='__main__', defaultTest=None,
-                 argv=None, testRunner=None,
-                 testLoader=loader.defaultTestLoader, exit=True,
-                 verbosity=1, failfast=None, catchbreak=None, buffer=None):
+    def __init__(self, module='__main__', defaultTest=None, argv=None,
+                    testRunner=None, testLoader=loader.defaultTestLoader,
+                    exit=True, verbosity=1, failfast=None, catchbreak=None,
+                    buffer=None):
         if isinstance(module, basestring):
             self.module = __import__(module)
             for part in module.split('.')[1:]:
index a3934dd2ce1a1e8f6c3a12fb15cbff1a60ac7b9d..cd141876399d03cbca68dfc7aa0eab5f616099d1 100644 (file)
@@ -1,10 +1,27 @@
 from cStringIO import StringIO
 
+import os
 import unittest
 
 
 class Test_TestProgram(unittest.TestCase):
 
+    def test_discovery_from_dotted_path(self):
+        loader = unittest.TestLoader()
+
+        tests = [self]
+        expectedPath = os.path.abspath(os.path.dirname(unittest.test.__file__))
+
+        self.wasRun = False
+        def _find_tests(start_dir, pattern):
+            self.wasRun = True
+            self.assertEqual(start_dir, expectedPath)
+            return tests
+        loader._find_tests = _find_tests
+        suite = loader.discover('unittest.test')
+        self.assertTrue(self.wasRun)
+        self.assertEqual(suite._tests, tests)
+
     # Horrible white box test
     def testNoExit(self):
         result = object()