diff options
-rw-r--r-- | Lib/test/output/test_exceptions | 10 | ||||
-rw-r--r-- | Lib/test/test_exceptions.py | 49 |
2 files changed, 59 insertions, 0 deletions
diff --git a/Lib/test/output/test_exceptions b/Lib/test/output/test_exceptions index 9e021d2..8ce0154 100644 --- a/Lib/test/output/test_exceptions +++ b/Lib/test/output/test_exceptions @@ -27,6 +27,16 @@ RuntimeError (not used any more?) spam SyntaxError +'continue' not supported inside 'try' clause +ok +'continue' not supported inside 'try' clause +ok +'continue' not supported inside 'try' clause +ok +'continue' not properly in loop +ok +'continue' not properly in loop +ok spam IndentationError spam diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py index 7ee203c..076f470 100644 --- a/Lib/test/test_exceptions.py +++ b/Lib/test/test_exceptions.py @@ -86,6 +86,55 @@ r(SyntaxError) try: exec '/\n' except SyntaxError: pass +# make sure the right exception message is raised for each of these +# code fragments: + +def ckmsg(src, msg): + try: + compile(src, '<fragment>', 'exec') + except SyntaxError, e: + print e.msg + if e.msg == msg: + print "ok" + else: + print "expected:", msg + else: + print "failed to get expected SyntaxError" + +s = '''\ +while 1: + try: + continue + except: + pass +''' +ckmsg(s, "'continue' not supported inside 'try' clause") +s = '''\ +while 1: + try: + continue + finally: + pass +''' +ckmsg(s, "'continue' not supported inside 'try' clause") +s = '''\ +while 1: + try: + if 1: + continue + finally: + pass +''' +ckmsg(s, "'continue' not supported inside 'try' clause") +s = '''\ +try: + continue +except: + pass +''' +ckmsg(s, "'continue' not properly in loop") +ckmsg("continue\n", "'continue' not properly in loop") + r(IndentationError) r(TabError) |