Mercurial > cpython-lru_cache-weakref
annotate Tools/parser/test_unparse.py @ 74006:88198b93ff2f
Issue #13560: Add PyUnicode_EncodeLocale()
* Use PyUnicode_EncodeLocale() in time.strftime() if wcsftime() is not
available
* Document my last changes in Misc/NEWS
| author | Victor Stinner <victor.stinner@haypocalc.com> |
|---|---|
| date | Sat, 17 Dec 2011 04:13:41 +0100 |
| parents | 87e6bdb373d1 |
| children | c80576303892 |
| rev | line source |
|---|---|
|
62609
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
1 import unittest |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
2 import test.support |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
3 import io |
|
62627
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
4 import os |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
5 import tokenize |
|
62609
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
6 import ast |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
7 import unparse |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
8 |
|
62627
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
9 def read_pyfile(filename): |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
10 """Read and return the contents of a Python source file (as a |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
11 string), taking into account the file encoding.""" |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
12 with open(filename, "rb") as pyfile: |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
13 encoding = tokenize.detect_encoding(pyfile.readline)[0] |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
14 with open(filename, "r", encoding=encoding) as pyfile: |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
15 source = pyfile.read() |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
16 return source |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
17 |
|
62613
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
18 for_else = """\ |
|
62609
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
19 def f(): |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
20 for x in range(10): |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
21 break |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
22 else: |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
23 y = 2 |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
24 z = 3 |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
25 """ |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
26 |
|
62613
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
27 while_else = """\ |
|
62609
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
28 def g(): |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
29 while True: |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
30 break |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
31 else: |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
32 y = 2 |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
33 z = 3 |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
34 """ |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
35 |
|
62613
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
36 relative_import = """\ |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
37 from . import fred |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
38 from .. import barney |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
39 from .australia import shrimp as prawns |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
40 """ |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
41 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
42 nonlocal_ex = """\ |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
43 def f(): |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
44 x = 1 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
45 def g(): |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
46 nonlocal x |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
47 x = 2 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
48 y = 7 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
49 def h(): |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
50 nonlocal x, y |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
51 """ |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
52 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
53 # also acts as test for 'except ... as ...' |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
54 raise_from = """\ |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
55 try: |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
56 1 / 0 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
57 except ZeroDivisionError as e: |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
58 raise ArithmeticError from e |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
59 """ |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
60 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
61 class_decorator = """\ |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
62 @f1(arg) |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
63 @f2 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
64 class Foo: pass |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
65 """ |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
66 |
|
62643
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
67 elif1 = """\ |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
68 if cond1: |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
69 suite1 |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
70 elif cond2: |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
71 suite2 |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
72 else: |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
73 suite3 |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
74 """ |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
75 |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
76 elif2 = """\ |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
77 if cond1: |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
78 suite1 |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
79 elif cond2: |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
80 suite2 |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
81 """ |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
82 |
|
62644
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
83 try_except_finally = """\ |
|
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
84 try: |
|
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
85 suite1 |
|
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
86 except ex1: |
|
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
87 suite2 |
|
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
88 except ex2: |
|
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
89 suite3 |
|
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
90 else: |
|
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
91 suite4 |
|
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
92 finally: |
|
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
93 suite5 |
|
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
94 """ |
|
62643
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
95 |
|
62627
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
96 class ASTTestCase(unittest.TestCase): |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
97 def assertASTEqual(self, ast1, ast2): |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
98 self.assertEqual(ast.dump(ast1), ast.dump(ast2)) |
|
62609
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
99 |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
100 def check_roundtrip(self, code1, filename="internal"): |
|
62627
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
101 ast1 = compile(code1, filename, "exec", ast.PyCF_ONLY_AST) |
|
62609
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
102 unparse_buffer = io.StringIO() |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
103 unparse.Unparser(ast1, unparse_buffer) |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
104 code2 = unparse_buffer.getvalue() |
|
62627
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
105 ast2 = compile(code2, filename, "exec", ast.PyCF_ONLY_AST) |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
106 self.assertASTEqual(ast1, ast2) |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
107 |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
108 class UnparseTestCase(ASTTestCase): |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
109 # Tests for specific bugs found in earlier versions of unparse |
|
62609
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
110 |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
111 def test_del_statement(self): |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
112 self.check_roundtrip("del x, y, z") |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
113 |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
114 def test_shifts(self): |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
115 self.check_roundtrip("45 << 2") |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
116 self.check_roundtrip("13 >> 7") |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
117 |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
118 def test_for_else(self): |
|
62613
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
119 self.check_roundtrip(for_else) |
|
62609
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
120 |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
121 def test_while_else(self): |
|
62613
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
122 self.check_roundtrip(while_else) |
|
62609
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
123 |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
124 def test_unary_parens(self): |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
125 self.check_roundtrip("(-1)**7") |
|
62651
043ef04f64d2
Unparse infinite imaginary literals correctly. Add some more numeric tests.
Mark Dickinson <dickinsm@gmail.com>
parents:
62650
diff
changeset
|
126 self.check_roundtrip("(-1.)**8") |
|
043ef04f64d2
Unparse infinite imaginary literals correctly. Add some more numeric tests.
Mark Dickinson <dickinsm@gmail.com>
parents:
62650
diff
changeset
|
127 self.check_roundtrip("(-1j)**6") |
|
62609
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
128 self.check_roundtrip("not True or False") |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
129 self.check_roundtrip("True or not False") |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
130 |
|
62622
2f9051fe6ad9
Add parentheses around numeric literals, to avoid turning 3 .bit_length() into 3.bit_length().
Mark Dickinson <dickinsm@gmail.com>
parents:
62613
diff
changeset
|
131 def test_integer_parens(self): |
|
2f9051fe6ad9
Add parentheses around numeric literals, to avoid turning 3 .bit_length() into 3.bit_length().
Mark Dickinson <dickinsm@gmail.com>
parents:
62613
diff
changeset
|
132 self.check_roundtrip("3 .__abs__()") |
|
2f9051fe6ad9
Add parentheses around numeric literals, to avoid turning 3 .bit_length() into 3.bit_length().
Mark Dickinson <dickinsm@gmail.com>
parents:
62613
diff
changeset
|
133 |
|
62623
fe44828ea7ed
More unparse.py fixes:
Mark Dickinson <dickinsm@gmail.com>
parents:
62622
diff
changeset
|
134 def test_huge_float(self): |
|
fe44828ea7ed
More unparse.py fixes:
Mark Dickinson <dickinsm@gmail.com>
parents:
62622
diff
changeset
|
135 self.check_roundtrip("1e1000") |
|
fe44828ea7ed
More unparse.py fixes:
Mark Dickinson <dickinsm@gmail.com>
parents:
62622
diff
changeset
|
136 self.check_roundtrip("-1e1000") |
|
62651
043ef04f64d2
Unparse infinite imaginary literals correctly. Add some more numeric tests.
Mark Dickinson <dickinsm@gmail.com>
parents:
62650
diff
changeset
|
137 self.check_roundtrip("1e1000j") |
|
043ef04f64d2
Unparse infinite imaginary literals correctly. Add some more numeric tests.
Mark Dickinson <dickinsm@gmail.com>
parents:
62650
diff
changeset
|
138 self.check_roundtrip("-1e1000j") |
|
043ef04f64d2
Unparse infinite imaginary literals correctly. Add some more numeric tests.
Mark Dickinson <dickinsm@gmail.com>
parents:
62650
diff
changeset
|
139 |
|
043ef04f64d2
Unparse infinite imaginary literals correctly. Add some more numeric tests.
Mark Dickinson <dickinsm@gmail.com>
parents:
62650
diff
changeset
|
140 def test_min_int(self): |
|
043ef04f64d2
Unparse infinite imaginary literals correctly. Add some more numeric tests.
Mark Dickinson <dickinsm@gmail.com>
parents:
62650
diff
changeset
|
141 self.check_roundtrip(str(-2**31)) |
|
043ef04f64d2
Unparse infinite imaginary literals correctly. Add some more numeric tests.
Mark Dickinson <dickinsm@gmail.com>
parents:
62650
diff
changeset
|
142 self.check_roundtrip(str(-2**63)) |
|
043ef04f64d2
Unparse infinite imaginary literals correctly. Add some more numeric tests.
Mark Dickinson <dickinsm@gmail.com>
parents:
62650
diff
changeset
|
143 |
|
043ef04f64d2
Unparse infinite imaginary literals correctly. Add some more numeric tests.
Mark Dickinson <dickinsm@gmail.com>
parents:
62650
diff
changeset
|
144 def test_imaginary_literals(self): |
|
043ef04f64d2
Unparse infinite imaginary literals correctly. Add some more numeric tests.
Mark Dickinson <dickinsm@gmail.com>
parents:
62650
diff
changeset
|
145 self.check_roundtrip("7j") |
|
043ef04f64d2
Unparse infinite imaginary literals correctly. Add some more numeric tests.
Mark Dickinson <dickinsm@gmail.com>
parents:
62650
diff
changeset
|
146 self.check_roundtrip("-7j") |
|
043ef04f64d2
Unparse infinite imaginary literals correctly. Add some more numeric tests.
Mark Dickinson <dickinsm@gmail.com>
parents:
62650
diff
changeset
|
147 self.check_roundtrip("0j") |
|
043ef04f64d2
Unparse infinite imaginary literals correctly. Add some more numeric tests.
Mark Dickinson <dickinsm@gmail.com>
parents:
62650
diff
changeset
|
148 self.check_roundtrip("-0j") |
|
62623
fe44828ea7ed
More unparse.py fixes:
Mark Dickinson <dickinsm@gmail.com>
parents:
62622
diff
changeset
|
149 |
|
fe44828ea7ed
More unparse.py fixes:
Mark Dickinson <dickinsm@gmail.com>
parents:
62622
diff
changeset
|
150 def test_lambda_parentheses(self): |
|
fe44828ea7ed
More unparse.py fixes:
Mark Dickinson <dickinsm@gmail.com>
parents:
62622
diff
changeset
|
151 self.check_roundtrip("(lambda: int)()") |
|
fe44828ea7ed
More unparse.py fixes:
Mark Dickinson <dickinsm@gmail.com>
parents:
62622
diff
changeset
|
152 |
|
62612
69f6d2130281
Merged revisions 82345 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
62609
diff
changeset
|
153 def test_chained_comparisons(self): |
|
69f6d2130281
Merged revisions 82345 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
62609
diff
changeset
|
154 self.check_roundtrip("1 < 4 <= 5") |
|
69f6d2130281
Merged revisions 82345 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
62609
diff
changeset
|
155 self.check_roundtrip("a is b is c is not d") |
|
69f6d2130281
Merged revisions 82345 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
62609
diff
changeset
|
156 |
|
62613
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
157 def test_function_arguments(self): |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
158 self.check_roundtrip("def f(): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
159 self.check_roundtrip("def f(a): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
160 self.check_roundtrip("def f(b = 2): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
161 self.check_roundtrip("def f(a, b): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
162 self.check_roundtrip("def f(a, b = 2): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
163 self.check_roundtrip("def f(a = 5, b = 2): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
164 self.check_roundtrip("def f(*, a = 1, b = 2): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
165 self.check_roundtrip("def f(*, a = 1, b): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
166 self.check_roundtrip("def f(*, a, b = 2): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
167 self.check_roundtrip("def f(a, b = None, *, c, **kwds): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
168 self.check_roundtrip("def f(a=2, *args, c=5, d, **kwds): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
169 self.check_roundtrip("def f(*args, **kwargs): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
170 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
171 def test_relative_import(self): |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
172 self.check_roundtrip(relative_import) |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
173 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
174 def test_nonlocal(self): |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
175 self.check_roundtrip(nonlocal_ex) |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
176 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
177 def test_raise_from(self): |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
178 self.check_roundtrip(raise_from) |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
179 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
180 def test_bytes(self): |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
181 self.check_roundtrip("b'123'") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
182 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
183 def test_annotations(self): |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
184 self.check_roundtrip("def f(a : int): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
185 self.check_roundtrip("def f(a: int = 5): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
186 self.check_roundtrip("def f(*args: [int]): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
187 self.check_roundtrip("def f(**kwargs: dict): pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
188 self.check_roundtrip("def f() -> None: pass") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
189 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
190 def test_set_literal(self): |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
191 self.check_roundtrip("{'a', 'b', 'c'}") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
192 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
193 def test_set_comprehension(self): |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
194 self.check_roundtrip("{x for x in range(5)}") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
195 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
196 def test_dict_comprehension(self): |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
197 self.check_roundtrip("{x: x*x for x in range(10)}") |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
198 |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
199 def test_class_decorators(self): |
|
b817e716516e
Update Demo/parser/unparse.py to current Python 3.x syntax. Additions:
Mark Dickinson <dickinsm@gmail.com>
parents:
62612
diff
changeset
|
200 self.check_roundtrip(class_decorator) |
|
62609
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
201 |
|
62637
158166ef6f06
Fix typo in unparsing of a class definition.
Mark Dickinson <dickinsm@gmail.com>
parents:
62627
diff
changeset
|
202 def test_class_definition(self): |
|
158166ef6f06
Fix typo in unparsing of a class definition.
Mark Dickinson <dickinsm@gmail.com>
parents:
62627
diff
changeset
|
203 self.check_roundtrip("class A(metaclass=type, *[], **{}): pass") |
|
62627
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
204 |
|
62643
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
205 def test_elifs(self): |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
206 self.check_roundtrip(elif1) |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
207 self.check_roundtrip(elif2) |
|
25fbf023102d
Collapse else: if: ... into elif:
Mark Dickinson <dickinsm@gmail.com>
parents:
62637
diff
changeset
|
208 |
|
62644
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
209 def test_try_except_finally(self): |
|
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
210 self.check_roundtrip(try_except_finally) |
|
e6bb990ac9f6
Output try-except-finally statements where appropriate.
Mark Dickinson <dickinsm@gmail.com>
parents:
62643
diff
changeset
|
211 |
|
62627
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
212 class DirectoryTestCase(ASTTestCase): |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
213 """Test roundtrip behaviour on all files in Lib and Lib/test.""" |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
214 |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
215 # test directories, relative to the root of the distribution |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
216 test_directories = 'Lib', os.path.join('Lib', 'test') |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
217 |
|
62650
30843be2e11a
Revert accidental extra changes included in r82391.
Mark Dickinson <dickinsm@gmail.com>
parents:
62649
diff
changeset
|
218 def test_files(self): |
|
62627
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
219 # get names of files to test |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
220 dist_dir = os.path.join(os.path.dirname(__file__), os.pardir, os.pardir) |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
221 |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
222 names = [] |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
223 for d in self.test_directories: |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
224 test_dir = os.path.join(dist_dir, d) |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
225 for n in os.listdir(test_dir): |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
226 if n.endswith('.py') and not n.startswith('bad'): |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
227 names.append(os.path.join(test_dir, n)) |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
228 |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
229 for filename in names: |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
230 if test.support.verbose: |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
231 print('Testing %s' % filename) |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
232 source = read_pyfile(filename) |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
233 self.check_roundtrip(source) |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
234 |
|
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
235 |
|
62609
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
236 def test_main(): |
|
62627
b72c33f496ac
test_unparse.py: Do roundtrip testing for all Python files in Lib and Lib/test.
Mark Dickinson <dickinsm@gmail.com>
parents:
62623
diff
changeset
|
237 test.support.run_unittest(UnparseTestCase, DirectoryTestCase) |
|
62609
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
238 |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
239 if __name__ == '__main__': |
|
68b670f3614e
Merged revisions 82338,82340-82341 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
diff
changeset
|
240 test_main() |
