]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
#8414: add more tests for "assert". Initial patch by Gregory Nofi.
authorEzio Melotti <ezio.melotti@gmail.com>
Fri, 2 Dec 2011 16:22:52 +0000 (18:22 +0200)
committerEzio Melotti <ezio.melotti@gmail.com>
Fri, 2 Dec 2011 16:22:52 +0000 (18:22 +0200)
Lib/test/test_grammar.py

index 329b25807f665ba0500f9e069cd65ef51d1e2f11..268a633b2c700ff492294e52b8c253076cebd9c5 100644 (file)
@@ -493,13 +493,35 @@ class GrammarTests(unittest.TestCase):
         assert 1, 1
         assert lambda x:x
         assert 1, lambda x:x+1
+
+        try:
+            assert True
+        except AssertionError as e:
+            self.fail("'assert True' should not have raised an AssertionError")
+
+        try:
+            assert True, 'this should always pass'
+        except AssertionError as e:
+            self.fail("'assert True, msg' should not have "
+                      "raised an AssertionError")
+
+    # these tests fail if python is run with -O, so check __debug__
+    @unittest.skipUnless(__debug__, "Won't work if __debug__ is False")
+    def testAssert2(self):
         try:
             assert 0, "msg"
         except AssertionError as e:
             self.assertEqual(e.args[0], "msg")
         else:
-            if __debug__:
-                self.fail("AssertionError not raised by assert 0")
+            self.fail("AssertionError not raised by assert 0")
+
+        try:
+            assert False
+        except AssertionError as e:
+            self.assertEqual(len(e.args), 0)
+        else:
+            self.fail("AssertionError not raised by 'assert False'")
+
 
     ### compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | funcdef | classdef
     # Tested below