From 560a2be39cfcbb602318b321dd41b55728b499ed Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Tue, 21 Dec 2010 16:56:08 +0300 Subject: [PATCH 1/2] fixed PY-2412 test runner inappropriately runs abstract trial TestCase classes --- python/helpers/pycharm/nose_helper/loader.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/python/helpers/pycharm/nose_helper/loader.py b/python/helpers/pycharm/nose_helper/loader.py index 940fac74aabf..7dcfca4b0a3f 100644 --- a/python/helpers/pycharm/nose_helper/loader.py +++ b/python/helpers/pycharm/nose_helper/loader.py @@ -159,6 +159,25 @@ class TestLoader(unittest.TestLoader): return Failure(TypeError, "Can't make a test from %s" % obj) + def loadTestsFromTestCase(self, testCaseClass): + """Return a suite of all tests cases contained in testCaseClass""" + try: + # PY-2412 + # because of Twisted overrides runTest function and we don't need to harvest them + import twisted.trial.unittest + if issubclass(testCaseClass, twisted.trial.unittest.TestCase): + testCaseNames = self.getTestCaseNames(testCaseClass) + return self.suiteClass(map(testCaseClass, testCaseNames)) + except ImportError: + pass + + if issubclass(testCaseClass, unittest.TestSuite): + raise TypeError("Test cases should not be derived from TestSuite. Maybe you meant to derive from TestCase?") + testCaseNames = self.getTestCaseNames(testCaseClass) + if not testCaseNames and hasattr(testCaseClass, 'runTest'): + testCaseNames = ['runTest'] + return self.suiteClass(map(testCaseClass, testCaseNames)) + def parseGeneratedTest(self, test): """Given the yield value of a test generator, return a func and args. """ From 0d68392bf9e71e107bccff5ee9beed5f5c31ba50 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Tue, 21 Dec 2010 17:34:15 +0300 Subject: [PATCH 2/2] removed unusable print statement --- python/helpers/pycharm/nose_helper/loader.py | 1 - 1 file changed, 1 deletion(-) diff --git a/python/helpers/pycharm/nose_helper/loader.py b/python/helpers/pycharm/nose_helper/loader.py index 7dcfca4b0a3f..107e84c7a6b9 100644 --- a/python/helpers/pycharm/nose_helper/loader.py +++ b/python/helpers/pycharm/nose_helper/loader.py @@ -112,7 +112,6 @@ class TestLoader(unittest.TestLoader): raise except: exc = sys.exc_info() - print ("1", obj, parent) return Failure(exc[0], exc[1]) def _makeTest(self, obj, parent=None):