Mercurial > cpython-lru_cache-weakref
annotate Lib/test/test_future.py @ 25838:8540887bcec6 2.2
Backport of 2.183:
Fix memory leak in add_subclass() found by NealN with valgrind.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Fri, 18 Oct 2002 13:42:21 +0000 |
| parents | 7e5e974b3d37 |
| children | aa0d2d51fbde |
| rev | line source |
|---|---|
|
16839
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
1 # Test various flavors of legal and illegal future statements |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
2 |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
3 from test_support import unload |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
4 import re |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
5 |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
6 rx = re.compile('\((\S+).py, line (\d+)') |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
7 |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
8 def check_error_location(msg): |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
9 mo = rx.search(msg) |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
10 print "SyntaxError %s %s" % mo.group(1, 2) |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
11 |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
12 # The first two tests should work |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
13 |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
14 unload('test_future1') |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
15 import test_future1 |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
16 |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
17 unload('test_future2') |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
18 import test_future2 |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
19 |
|
19408
7e5e974b3d37
Fix SF bug [ #450245 ] Error in parsing future stmts
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
17558
diff
changeset
|
20 unload('test_future3') |
|
7e5e974b3d37
Fix SF bug [ #450245 ] Error in parsing future stmts
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
17558
diff
changeset
|
21 import test_future3 |
|
7e5e974b3d37
Fix SF bug [ #450245 ] Error in parsing future stmts
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
17558
diff
changeset
|
22 |
|
16839
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
23 # The remaining tests should fail |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
24 try: |
|
17558
d06bbb8c493a
Fix compileall.py so that it fails on SyntaxErrors
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
16894
diff
changeset
|
25 import badsyntax_future3 |
|
16839
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
26 except SyntaxError, msg: |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
27 check_error_location(str(msg)) |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
28 |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
29 try: |
|
17558
d06bbb8c493a
Fix compileall.py so that it fails on SyntaxErrors
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
16894
diff
changeset
|
30 import badsyntax_future4 |
|
16839
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
31 except SyntaxError, msg: |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
32 check_error_location(str(msg)) |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
33 |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
34 try: |
|
17558
d06bbb8c493a
Fix compileall.py so that it fails on SyntaxErrors
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
16894
diff
changeset
|
35 import badsyntax_future5 |
|
16839
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
36 except SyntaxError, msg: |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
37 check_error_location(str(msg)) |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
38 |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
39 try: |
|
17558
d06bbb8c493a
Fix compileall.py so that it fails on SyntaxErrors
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
16894
diff
changeset
|
40 import badsyntax_future6 |
|
16839
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
41 except SyntaxError, msg: |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
42 check_error_location(str(msg)) |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
43 |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
44 try: |
|
17558
d06bbb8c493a
Fix compileall.py so that it fails on SyntaxErrors
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
16894
diff
changeset
|
45 import badsyntax_future7 |
|
16839
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
46 except SyntaxError, msg: |
|
e1b1e68cbd8c
Add regression test for future statements. This adds eight files, but
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
diff
changeset
|
47 check_error_location(str(msg)) |
