]> granicus.if.org Git - python/commitdiff
bpo-20548: Use specific asserts in warnings and exceptions tests (#788)
authorSerhiy Storchaka <storchaka@gmail.com>
Thu, 30 Mar 2017 15:05:08 +0000 (18:05 +0300)
committerGitHub <noreply@github.com>
Thu, 30 Mar 2017 15:05:08 +0000 (18:05 +0300)
Lib/test/test_exceptions.py
Lib/test/test_raise.py
Lib/test/test_warnings/__init__.py

index 14e0f840d45cdd0634dfd9c28cf55846071494ed..2cac6c530ae7d1d183c476921cf5f6b69ac156c4 100644 (file)
@@ -537,7 +537,7 @@ class ExceptionTests(unittest.TestCase):
             pass
         obj = None
         obj = wr()
-        self.assertTrue(obj is None, "%s" % obj)
+        self.assertIsNone(obj)
 
         # Qualified "except" without "as"
         obj = MyObj()
@@ -548,7 +548,7 @@ class ExceptionTests(unittest.TestCase):
             pass
         obj = None
         obj = wr()
-        self.assertTrue(obj is None, "%s" % obj)
+        self.assertIsNone(obj)
 
         # Bare "except"
         obj = MyObj()
@@ -559,7 +559,7 @@ class ExceptionTests(unittest.TestCase):
             pass
         obj = None
         obj = wr()
-        self.assertTrue(obj is None, "%s" % obj)
+        self.assertIsNone(obj)
 
         # "except" with premature block leave
         obj = MyObj()
@@ -571,7 +571,7 @@ class ExceptionTests(unittest.TestCase):
                 break
         obj = None
         obj = wr()
-        self.assertTrue(obj is None, "%s" % obj)
+        self.assertIsNone(obj)
 
         # "except" block raising another exception
         obj = MyObj()
@@ -592,7 +592,7 @@ class ExceptionTests(unittest.TestCase):
             # guarantee no ref cycles on CPython (don't gc_collect)
             if check_impl_detail(cpython=False):
                 gc_collect()
-            self.assertTrue(obj is None, "%s" % obj)
+            self.assertIsNone(obj)
 
         # Some complicated construct
         obj = MyObj()
@@ -611,7 +611,7 @@ class ExceptionTests(unittest.TestCase):
         if check_impl_detail(cpython=False):
             gc_collect()
         obj = wr()
-        self.assertTrue(obj is None, "%s" % obj)
+        self.assertIsNone(obj)
 
         # Inside an exception-silencing "with" block
         class Context:
@@ -627,7 +627,7 @@ class ExceptionTests(unittest.TestCase):
         if check_impl_detail(cpython=False):
             gc_collect()
         obj = wr()
-        self.assertTrue(obj is None, "%s" % obj)
+        self.assertIsNone(obj)
 
     def test_exception_target_in_nested_scope(self):
         # issue 4617: This used to raise a SyntaxError
@@ -779,7 +779,7 @@ class ExceptionTests(unittest.TestCase):
         testfunc(g)
         g = obj = None
         obj = wr()
-        self.assertIs(obj, None)
+        self.assertIsNone(obj)
 
     def test_generator_throw_cleanup_exc_state(self):
         def do_throw(g):
@@ -904,7 +904,7 @@ class ExceptionTests(unittest.TestCase):
             except RecursionError:
                 return sys.exc_info()
         e, v, tb = g()
-        self.assertTrue(isinstance(v, RecursionError), type(v))
+        self.assertIsInstance(v, RecursionError, type(v))
         self.assertIn("maximum recursion depth exceeded", str(v))
 
 
index c6d80b078e545d4ed8c59be9cb9428061e0588ad..103f6086d2068ba1e7c74403cbed3813b0a860a2 100644 (file)
@@ -40,7 +40,7 @@ class TestRaise(unittest.TestCase):
                 exc1 = e
                 raise
         except IndexError as exc2:
-            self.assertTrue(exc1 is exc2)
+            self.assertIs(exc1, exc2)
         else:
             self.fail("No exception raised")
 
@@ -84,7 +84,7 @@ class TestRaise(unittest.TestCase):
             except:
                 raise ValueError() from None
         except ValueError as e:
-            self.assertTrue(isinstance(e.__context__, TypeError))
+            self.assertIsInstance(e.__context__, TypeError)
             self.assertIsNone(e.__cause__)
 
     def test_with_reraise1(self):
@@ -190,7 +190,7 @@ class TestCause(unittest.TestCase):
         try:
             raise IndexError from cause
         except IndexError as e:
-            self.assertTrue(e.__cause__ is cause)
+            self.assertIs(e.__cause__, cause)
         else:
             self.fail("No exception raised")
 
@@ -296,7 +296,7 @@ class TestContext(unittest.TestCase):
             finally:
                 raise OSError
         except OSError as e:
-            self.assertTrue(e.__context__ is None)
+            self.assertIsNone(e.__context__)
         else:
             self.fail("No exception raised")
 
@@ -333,7 +333,7 @@ class TestContext(unittest.TestCase):
             except ZeroDivisionError as e:
                 raise e
         except ZeroDivisionError as e:
-            self.assertTrue(e.__context__ is None, e.__context__)
+            self.assertIsNone(e.__context__)
 
     def test_reraise_cycle_broken(self):
         # Non-trivial context cycles (through re-raising a previous exception)
@@ -347,7 +347,7 @@ class TestContext(unittest.TestCase):
                 except ZeroDivisionError:
                     raise a
         except NameError as e:
-            self.assertTrue(e.__context__.__context__ is None)
+            self.assertIsNone(e.__context__.__context__)
 
     def test_3118(self):
         # deleting the generator caused the __context__ to be cleared
index 0cddf4a2f4b10a50a0a0e21636faaee2251a9223..8fc5d3c5625bc1f77cf71b88c6a1ca709355e665 100644 (file)
@@ -248,7 +248,7 @@ class FilterTests(BaseTest):
             text = 'handle normally'
             self.module.warn(text)
             self.assertEqual(str(w[-1].message), text)
-            self.assertTrue(w[-1].category is UserWarning)
+            self.assertIs(w[-1].category, UserWarning)
 
             self.module.filterwarnings("ignore", "", Warning, "", 0)
             text = 'filtered out'
@@ -261,7 +261,7 @@ class FilterTests(BaseTest):
             text = 'nonmatching text'
             self.module.warn(text)
             self.assertEqual(str(w[-1].message), text)
-            self.assertTrue(w[-1].category is UserWarning)
+            self.assertIs(w[-1].category, UserWarning)
 
     def test_message_matching(self):
         with original_warnings.catch_warnings(record=True,
@@ -353,7 +353,7 @@ class WarnTests(BaseTest):
                 text = 'multi %d' %i  # Different text on each call.
                 self.module.warn(text)
                 self.assertEqual(str(w[-1].message), text)
-                self.assertTrue(w[-1].category is UserWarning)
+                self.assertIs(w[-1].category, UserWarning)
 
     # Issue 3639
     def test_warn_nonstandard_types(self):
@@ -575,7 +575,7 @@ class CWarnTests(WarnTests, unittest.TestCase):
     # As an early adopter, we sanity check the
     # test.support.import_fresh_module utility function
     def test_accelerated(self):
-        self.assertFalse(original_warnings is self.module)
+        self.assertIsNot(original_warnings, self.module)
         self.assertFalse(hasattr(self.module.warn, '__code__'))
 
 class PyWarnTests(WarnTests, unittest.TestCase):
@@ -584,7 +584,7 @@ class PyWarnTests(WarnTests, unittest.TestCase):
     # As an early adopter, we sanity check the
     # test.support.import_fresh_module utility function
     def test_pure_python(self):
-        self.assertFalse(original_warnings is self.module)
+        self.assertIsNot(original_warnings, self.module)
         self.assertTrue(hasattr(self.module.warn, '__code__'))
 
 
@@ -884,20 +884,20 @@ class CatchWarningTests(BaseTest):
         # Ensure both showwarning and filters are restored when recording
         with wmod.catch_warnings(module=wmod, record=True):
             wmod.filters = wmod.showwarning = object()
-        self.assertTrue(wmod.filters is orig_filters)
-        self.assertTrue(wmod.showwarning is orig_showwarning)
+        self.assertIs(wmod.filters, orig_filters)
+        self.assertIs(wmod.showwarning, orig_showwarning)
         # Same test, but with recording disabled
         with wmod.catch_warnings(module=wmod, record=False):
             wmod.filters = wmod.showwarning = object()
-        self.assertTrue(wmod.filters is orig_filters)
-        self.assertTrue(wmod.showwarning is orig_showwarning)
+        self.assertIs(wmod.filters, orig_filters)
+        self.assertIs(wmod.showwarning, orig_showwarning)
 
     def test_catch_warnings_recording(self):
         wmod = self.module
         # Ensure warnings are recorded when requested
         with wmod.catch_warnings(module=wmod, record=True) as w:
             self.assertEqual(w, [])
-            self.assertTrue(type(w) is list)
+            self.assertIs(type(w), list)
             wmod.simplefilter("always")
             wmod.warn("foo")
             self.assertEqual(str(w[-1].message), "foo")
@@ -910,8 +910,8 @@ class CatchWarningTests(BaseTest):
         # Ensure warnings are not recorded when not requested
         orig_showwarning = wmod.showwarning
         with wmod.catch_warnings(module=wmod, record=False) as w:
-            self.assertTrue(w is None)
-            self.assertTrue(wmod.showwarning is orig_showwarning)
+            self.assertIsNone(w)
+            self.assertIs(wmod.showwarning, orig_showwarning)
 
     def test_catch_warnings_reentry_guard(self):
         wmod = self.module
@@ -932,17 +932,17 @@ class CatchWarningTests(BaseTest):
         orig_showwarning = wmod.showwarning
         # Ensure default behaviour is not to record warnings
         with wmod.catch_warnings(module=wmod) as w:
-            self.assertTrue(w is None)
-            self.assertTrue(wmod.showwarning is orig_showwarning)
-            self.assertTrue(wmod.filters is not orig_filters)
-        self.assertTrue(wmod.filters is orig_filters)
+            self.assertIsNone(w)
+            self.assertIs(wmod.showwarning, orig_showwarning)
+            self.assertIsNot(wmod.filters, orig_filters)
+        self.assertIs(wmod.filters, orig_filters)
         if wmod is sys.modules['warnings']:
             # Ensure the default module is this one
             with wmod.catch_warnings() as w:
-                self.assertTrue(w is None)
-                self.assertTrue(wmod.showwarning is orig_showwarning)
-                self.assertTrue(wmod.filters is not orig_filters)
-            self.assertTrue(wmod.filters is orig_filters)
+                self.assertIsNone(w)
+                self.assertIs(wmod.showwarning, orig_showwarning)
+                self.assertIsNot(wmod.filters, orig_filters)
+            self.assertIs(wmod.filters, orig_filters)
 
     def test_record_override_showwarning_before(self):
         # Issue #28835: If warnings.showwarning() was overriden, make sure