From 4a8cf3c50b58c48ae5f08e2fad4e99a207d8553e Mon Sep 17 00:00:00 2001 From: Michael Foord Date: Fri, 7 May 2010 15:35:24 +0000 Subject: [PATCH] Merged revisions 80918 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r80918 | michael.foord | 2010-05-07 17:34:08 +0200 (Fri, 07 May 2010) | 1 line Adding a test for unittest test discovery with dotted path name. ........ --- Lib/unittest/main.py | 8 ++++---- Lib/unittest/test/test_program.py | 17 +++++++++++++++++ 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/Lib/unittest/main.py b/Lib/unittest/main.py index 2f488e191bf..45af6992237 100644 --- a/Lib/unittest/main.py +++ b/Lib/unittest/main.py @@ -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, str): self.module = __import__(module) for part in module.split('.')[1:]: diff --git a/Lib/unittest/test/test_program.py b/Lib/unittest/test/test_program.py index b6a69dc28ad..752a0664b00 100644 --- a/Lib/unittest/test/test_program.py +++ b/Lib/unittest/test/test_program.py @@ -1,10 +1,27 @@ import io +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()