| # Test various flavors of legal and illegal future statements |
| |
| from test_support import unload |
| import re |
| |
| rx = re.compile('\((\S+).py, line (\d+)') |
| |
| def check_error_location(msg): |
| mo = rx.search(msg) |
| print "SyntaxError %s %s" % mo.group(1, 2) |
| |
| # The first two tests should work |
| |
| unload('test_future1') |
| import test_future1 |
| |
| unload('test_future2') |
| import test_future2 |
| |
| unload('test_future3') |
| import test_future3 |
| |
| # The remaining tests should fail |
| try: |
| import badsyntax_future3 |
| except SyntaxError, msg: |
| check_error_location(str(msg)) |
| |
| try: |
| import badsyntax_future4 |
| except SyntaxError, msg: |
| check_error_location(str(msg)) |
| |
| try: |
| import badsyntax_future5 |
| except SyntaxError, msg: |
| check_error_location(str(msg)) |
| |
| try: |
| import badsyntax_future6 |
| except SyntaxError, msg: |
| check_error_location(str(msg)) |
| |
| try: |
| import badsyntax_future7 |
| except SyntaxError, msg: |
| check_error_location(str(msg)) |