]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Tests for issue 8302, skipped test in a setUpClass or a setUpModule are reported...
authorMichael Foord <fuzzyman@voidspace.org.uk>
Sat, 5 Jun 2010 20:59:00 +0000 (20:59 +0000)
committerMichael Foord <fuzzyman@voidspace.org.uk>
Sat, 5 Jun 2010 20:59:00 +0000 (20:59 +0000)
Lib/unittest/suite.py
Lib/unittest/test/test_case.py
Lib/unittest/test/test_setups.py

index 74d580023f25c0d3796b48335f8844ba61c5a40d..bed9044da4c8a5bd73fac5e8abb27df103093202 100644 (file)
@@ -133,7 +133,7 @@ class TestSuite(BaseTestSuite):
             except Exception as e:
                 currentClass._classSetupFailed = True
                 className = util.strclass(currentClass)
-                errorName = 'classSetUp (%s)' % className
+                errorName = 'setUpClass (%s)' % className
                 self._addClassOrModuleLevelException(result, e, errorName)
 
 
@@ -213,7 +213,7 @@ class TestSuite(BaseTestSuite):
                 tearDownClass()
             except Exception, e:
                 className = util.strclass(previousClass)
-                errorName = 'classTearDown (%s)' % className
+                errorName = 'tearDownClass (%s)' % className
                 self._addClassOrModuleLevelException(result, e, errorName)
 
 
index 6759a18f89e32ee0dd2af6ad80f51312e6a88ea4..a395fe07d6755e2b77879368da00a979d5ed0a48 100644 (file)
@@ -639,6 +639,10 @@ class Test_TestCase(unittest.TestCase, TestEquality, TestHashing):
         message = self._truncateMessage('foo', 'bar')
         self.assertEqual(message, 'foobar')
 
+        self.maxDiff = 4
+        message = self._truncateMessage('foo', 'bar')
+        self.assertEqual(message, 'foobar')
+
     def testAssertDictEqualTruncates(self):
         test = unittest.TestCase('assertEqual')
         def truncate(msg, diff):
index 16fd65bff20bb3afb9b41bd26450b7a48758451d..aff7ab28956a1edfd83b1eb193e79eaecaf3242f 100644 (file)
@@ -112,7 +112,7 @@ class TestSetups(unittest.TestCase):
         self.assertEqual(len(result.errors), 1)
         error, _ = result.errors[0]
         self.assertEqual(str(error),
-                    'classSetUp (%s.BrokenTest)' % __name__)
+                    'setUpClass (%s.BrokenTest)' % __name__)
 
     def test_error_in_teardown_class(self):
         class Test(unittest.TestCase):
@@ -145,7 +145,7 @@ class TestSetups(unittest.TestCase):
 
         error, _ = result.errors[0]
         self.assertEqual(str(error),
-                    'classTearDown (%s.Test)' % __name__)
+                    'tearDownClass (%s.Test)' % __name__)
 
     def test_class_not_torndown_when_setup_fails(self):
         class Test(unittest.TestCase):
@@ -400,6 +400,45 @@ class TestSetups(unittest.TestCase):
         error, _ = result.errors[0]
         self.assertEqual(str(error), 'tearDownModule (Module)')
 
+    def test_skiptest_in_setupclass(self):
+        class Test(unittest.TestCase):
+            @classmethod
+            def setUpClass(cls):
+                raise unittest.SkipTest('foo')
+            def test_one(self):
+                pass
+            def test_two(self):
+                pass
+
+        result = self.runTests(Test)
+        self.assertEqual(result.testsRun, 0)
+        self.assertEqual(len(result.errors), 0)
+        self.assertEqual(len(result.skipped), 1)
+        skipped = result.skipped[0][0]
+        self.assertEqual(str(skipped), 'setUpClass (%s.Test)' % __name__)
+
+    def test_skiptest_in_setupmodule(self):
+        class Test(unittest.TestCase):
+            def test_one(self):
+                pass
+            def test_two(self):
+                pass
+
+        class Module(object):
+            @staticmethod
+            def setUpModule():
+                raise unittest.SkipTest('foo')
+
+        Test.__module__ = 'Module'
+        sys.modules['Module'] = Module
+
+        result = self.runTests(Test)
+        self.assertEqual(result.testsRun, 0)
+        self.assertEqual(len(result.errors), 0)
+        self.assertEqual(len(result.skipped), 1)
+        skipped = result.skipped[0][0]
+        self.assertEqual(str(skipped), 'setUpModule (Module)')
+
 
 if __name__ == '__main__':
     unittest.main()