(original) (raw)

changeset: 73806:bcfb499338c1 branch: 2.7 parent: 73783:3ecddf168f1f user: Ezio Melotti ezio.melotti@gmail.com date: Fri Dec 02 18:17:30 2011 +0200 files: Lib/test/test_grammar.py description: #8414: add more tests for "assert". Initial patch by Gregory Nofi. diff -r 3ecddf168f1f -r bcfb499338c1 Lib/test/test_grammar.py --- a/Lib/test/test_grammar.py Tue Nov 29 00:53:09 2011 +0100 +++ b/Lib/test/test_grammar.py Fri Dec 02 18:17:30 2011 +0200 @@ -551,13 +551,35 @@ 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, 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 /ezio.melotti@gmail.com