annotate Lib/test/test_codeop.py @ 87690:66c1c9f32567 default tip

Add use_weakref option to functools.lru_cache The use_weakref option makes lru_cache create weak references to the function arguments when creating the cache key, which prevents them from staying in the memory forever even after all other references to them are gone. This is a proof of concept for http://bugs.python.org/issue19859
author Radomir Dopieralski <devel@sheep.art.pl>
date Tue, 03 Dec 2013 16:02:48 +0100
parents fdf907708f49
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
1 """
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
2 Test cases for codeop.py
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
3 Nick Mathewson
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
4 """
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
5 import unittest
47201
9c930a32cebb #2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents: 42501
diff changeset
6 from test.support import run_unittest, is_jython
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
7
27878
be7683a6f521 - Finally fixed the bug in compile() and exec where a string ending
Guido van Rossum <guido@python.org>
parents: 24364
diff changeset
8 from codeop import compile_command, PyCF_DONT_IMPLY_DEDENT
42501
f6069f9dd52d SF patch# 1770008 by Christian Heimes (plus some extras).
Guido van Rossum <guido@python.org>
parents: 41824
diff changeset
9 import io
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
10
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
11 if is_jython:
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
12 import sys
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
13
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
14 def unify_callables(d):
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
15 for n,v in d.items():
41824
24b60622b944 Merged revisions 55407-55513 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 39782
diff changeset
16 if hasattr(v, '__call__'):
24b60622b944 Merged revisions 55407-55513 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 39782
diff changeset
17 d[n] = True
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
18 return d
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
19
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
20 class CodeopTests(unittest.TestCase):
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
21
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
22 def assertValid(self, str, symbol='single'):
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
23 '''succeed iff str is a valid piece of code'''
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
24 if is_jython:
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
25 code = compile_command(str, "<input>", symbol)
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55531
diff changeset
26 self.assertTrue(code)
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
27 if symbol == "single":
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
28 d,r = {},{}
29151
8be9a316eb9d minor fix, jython-only. Don't asssume stdout to save is the ur-stdout.
Samuele Pedroni <pedronis@openend.se>
parents: 29145
diff changeset
29 saved_stdout = sys.stdout
42501
f6069f9dd52d SF patch# 1770008 by Christian Heimes (plus some extras).
Guido van Rossum <guido@python.org>
parents: 41824
diff changeset
30 sys.stdout = io.StringIO()
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
31 try:
39782
c94f37054f19 Patch #1550800: make exec a function.
Georg Brandl <georg@python.org>
parents: 29488
diff changeset
32 exec(code, d)
c94f37054f19 Patch #1550800: make exec a function.
Georg Brandl <georg@python.org>
parents: 29488
diff changeset
33 exec(compile(str,"<input>","single"), r)
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
34 finally:
29151
8be9a316eb9d minor fix, jython-only. Don't asssume stdout to save is the ur-stdout.
Samuele Pedroni <pedronis@openend.se>
parents: 29145
diff changeset
35 sys.stdout = saved_stdout
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
36 elif symbol == 'eval':
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
37 ctx = {'a': 2}
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
38 d = { 'value': eval(code,ctx) }
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
39 r = { 'value': eval(str,ctx) }
66340
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 55593
diff changeset
40 self.assertEqual(unify_callables(r),unify_callables(d))
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
41 else:
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
42 expected = compile(str, "<input>", symbol, PyCF_DONT_IMPLY_DEDENT)
66340
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 55593
diff changeset
43 self.assertEqual(compile_command(str, "<input>", symbol), expected)
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
44
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
45 def assertIncomplete(self, str, symbol='single'):
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
46 '''succeed iff str is the start of a valid piece of code'''
66340
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 55593
diff changeset
47 self.assertEqual(compile_command(str, symbol=symbol), None)
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
48
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
49 def assertInvalid(self, str, symbol='single', is_syntax=1):
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
50 '''succeed iff str is the start of an invalid piece of code'''
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
51 try:
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
52 compile_command(str,symbol=symbol)
80928
fdf907708f49 Issue #16714: use 'raise' exceptions, don't 'throw'.
Andrew Svetlov <andrew.svetlov@gmail.com>
parents: 68257
diff changeset
53 self.fail("No exception raised for invalid code")
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
54 except SyntaxError:
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55531
diff changeset
55 self.assertTrue(is_syntax)
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
56 except OverflowError:
55593
0bb232078b8c Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents: 55531
diff changeset
57 self.assertTrue(not is_syntax)
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
58
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
59 def test_valid(self):
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
60 av = self.assertValid
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
61
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
62 # special case
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
63 if not is_jython:
66340
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 55593
diff changeset
64 self.assertEqual(compile_command(""),
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 55593
diff changeset
65 compile("pass", "<input>", 'single',
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 55593
diff changeset
66 PyCF_DONT_IMPLY_DEDENT))
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 55593
diff changeset
67 self.assertEqual(compile_command("\n"),
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 55593
diff changeset
68 compile("pass", "<input>", 'single',
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 55593
diff changeset
69 PyCF_DONT_IMPLY_DEDENT))
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
70 else:
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
71 av("")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
72 av("\n")
29488
5143cfe7cc75 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 29151
diff changeset
73
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
74 av("a = 1")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
75 av("\na = 1")
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
76 av("a = 1\n")
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
77 av("a = 1\n\n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
78 av("\n\na = 1\n\n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
79
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
80 av("def x():\n pass\n")
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
81 av("if 1:\n pass\n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
82
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
83 av("\n\nif 1: pass\n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
84 av("\n\nif 1: pass\n\n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
85
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
86 av("def x():\n\n pass\n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
87 av("def x():\n pass\n \n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
88 av("def x():\n pass\n \n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
89
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
90 av("pass\n")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
91 av("3**3\n")
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
92
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
93 av("if 9==3:\n pass\nelse:\n pass\n")
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
94 av("if 1:\n pass\n if 1:\n pass\n else:\n pass\n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
95
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
96 av("#a\n#b\na = 3\n")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
97 av("#a\n\n \na=3\n")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
98 av("a=3\n\n")
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
99 av("a = 9+ \\\n3")
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
100
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
101 av("3**3","eval")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
102 av("(lambda z: \n z**3)","eval")
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
103
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
104 av("9+ \\\n3","eval")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
105 av("9+ \\\n3\n","eval")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
106
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
107 av("\n\na**3","eval")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
108 av("\n \na**3","eval")
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
109 av("#a\n#b\na**3","eval")
19119
600a9a2b7a18 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 18878
diff changeset
110
55531
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
111 av("\n\na = 1\n\n")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
112 av("\n\nif 1: a=1\n\n")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
113
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
114 av("if 1:\n pass\n if 1:\n pass\n else:\n pass\n")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
115 av("#a\n\n \na=3\n\n")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
116
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
117 av("\n\na**3","eval")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
118 av("\n \na**3","eval")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
119 av("#a\n#b\na**3","eval")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
120
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
121 av("def f():\n try: pass\n finally: [x for x in (1,2)]\n")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
122 av("def f():\n pass\n#foo\n")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
123 av("@a.b.c\ndef f():\n pass\n")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
124
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
125 def test_incomplete(self):
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
126 ai = self.assertIncomplete
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
127
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
128 ai("(a **")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
129 ai("(a,b,")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
130 ai("(a,b,(")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
131 ai("(a,b,(")
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
132 ai("a = (")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
133 ai("a = {")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
134 ai("b + {")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
135
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
136 ai("if 9==3:\n pass\nelse:")
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
137 ai("if 9==3:\n pass\nelse:\n")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
138 ai("if 9==3:\n pass\nelse:\n pass")
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
139 ai("if 1:")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
140 ai("if 1:\n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
141 ai("if 1:\n pass\n if 1:\n pass\n else:")
29488
5143cfe7cc75 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 29151
diff changeset
142 ai("if 1:\n pass\n if 1:\n pass\n else:\n")
5143cfe7cc75 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 29151
diff changeset
143 ai("if 1:\n pass\n if 1:\n pass\n else:\n pass")
5143cfe7cc75 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 29151
diff changeset
144
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
145 ai("def x():")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
146 ai("def x():\n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
147 ai("def x():\n\n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
148
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
149 ai("def x():\n pass")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
150 ai("def x():\n pass\n ")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
151 ai("def x():\n pass\n ")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
152 ai("\n\ndef x():\n pass")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
153
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
154 ai("a = 9+ \\")
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
155 ai("a = 'a\\")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
156 ai("a = '''xy")
19119
600a9a2b7a18 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 18878
diff changeset
157
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
158 ai("","eval")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
159 ai("\n","eval")
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
160 ai("(","eval")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
161 ai("(\n\n\n","eval")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
162 ai("(9+","eval")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
163 ai("9+ \\","eval")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
164 ai("lambda z: \\","eval")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
165
55531
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
166 ai("if True:\n if True:\n if True: \n")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
167
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
168 ai("@a(")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
169 ai("@a(b")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
170 ai("@a(b,")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
171 ai("@a(b,c")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
172 ai("@a(b,c,")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
173
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
174 ai("from a import (")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
175 ai("from a import (b")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
176 ai("from a import (b,")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
177 ai("from a import (b,c")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
178 ai("from a import (b,c,")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
179
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
180 ai("[");
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
181 ai("[a");
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
182 ai("[a,");
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
183 ai("[a,b");
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
184 ai("[a,b,");
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
185
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
186 ai("{");
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
187 ai("{a");
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
188 ai("{a:");
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
189 ai("{a:b");
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
190 ai("{a:b,");
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
191 ai("{a:b,c");
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
192 ai("{a:b,c:");
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
193 ai("{a:b,c:d");
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
194 ai("{a:b,c:d,");
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
195
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
196 ai("a(")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
197 ai("a(b")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
198 ai("a(b,")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
199 ai("a(b,c")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
200 ai("a(b,c,")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
201
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
202 ai("a[")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
203 ai("a[b")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
204 ai("a[b,")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
205 ai("a[b:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
206 ai("a[b:c")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
207 ai("a[b:c:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
208 ai("a[b:c:d")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
209
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
210 ai("def a(")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
211 ai("def a(b")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
212 ai("def a(b,")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
213 ai("def a(b,c")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
214 ai("def a(b,c,")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
215
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
216 ai("(")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
217 ai("(a")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
218 ai("(a,")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
219 ai("(a,b")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
220 ai("(a,b,")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
221
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
222 ai("if a:\n pass\nelif b:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
223 ai("if a:\n pass\nelif b:\n pass\nelse:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
224
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
225 ai("while a:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
226 ai("while a:\n pass\nelse:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
227
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
228 ai("for a in b:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
229 ai("for a in b:\n pass\nelse:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
230
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
231 ai("try:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
232 ai("try:\n pass\nexcept:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
233 ai("try:\n pass\nfinally:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
234 ai("try:\n pass\nexcept:\n pass\nfinally:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
235
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
236 ai("with a:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
237 ai("with a as b:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
238
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
239 ai("class a:")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
240 ai("class a(")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
241 ai("class a(b")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
242 ai("class a(b,")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
243 ai("class a():")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
244
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
245 ai("[x for")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
246 ai("[x for x in")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
247 ai("[x for x in (")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
248
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
249 ai("(x for")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
250 ai("(x for x in")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
251 ai("(x for x in (")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
252
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
253 def test_invalid(self):
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
254 ai = self.assertInvalid
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
255 ai("a b")
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
256
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
257 ai("a @")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
258 ai("a b @")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
259 ai("a ** @")
29488
5143cfe7cc75 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 29151
diff changeset
260
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
261 ai("a = ")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
262 ai("a = 9 +")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
263
29145
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
264 ai("def x():\n\npass\n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
265
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
266 ai("\n\n if 1: pass\n\npass")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
267
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
268 ai("a = 9+ \\\n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
269 ai("a = 'a\\ ")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
270 ai("a = 'a\\\n")
e6e100efbc7d beefed up version: jython support, covers now fixed differences between CPython/Jython.
Samuele Pedroni <pedronis@openend.se>
parents: 27878
diff changeset
271
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
272 ai("a = 1","eval")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
273 ai("a = (","eval")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
274 ai("]","eval")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
275 ai("())","eval")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
276 ai("[}","eval")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
277 ai("9+","eval")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
278 ai("lambda z:","eval")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
279 ai("a b","eval")
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
280
55531
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
281 ai("return 2.3")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
282 ai("if (a == 1 and b = 2): pass")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
283
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
284 ai("del 1")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
285 ai("del ()")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
286 ai("del (1,)")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
287 ai("del [1]")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
288 ai("del '1'")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
289
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
290 ai("[i for i in range(10)] = (1, 2, 3)")
cfa7e943ffc3 Merged revisions 74293 via svnmerge from
Frank Wierzbicki <fwierzbicki@gmail.com>
parents: 47201
diff changeset
291
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
292 def test_filename(self):
66340
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 55593
diff changeset
293 self.assertEqual(compile_command("a = 1\n", "abc").co_filename,
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 55593
diff changeset
294 compile("a = 1\n", "abc", 'single').co_filename)
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 55593
diff changeset
295 self.assertNotEqual(compile_command("a = 1\n", "abc").co_filename,
2beb25369289 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 55593
diff changeset
296 compile("a = 1\n", "def", 'single').co_filename)
18878
4d9ebeedbd04 Patch #442866: Tests for codeop.py.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
297
20013
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19119
diff changeset
298
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19119
diff changeset
299 def test_main():
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19119
diff changeset
300 run_unittest(CodeopTests)
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19119
diff changeset
301
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19119
diff changeset
302
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19119
diff changeset
303 if __name__ == "__main__":
e3184e46303b Change the PyUnit-based tests to use the test_main() approach. This
Fred Drake <fdrake@acm.org>
parents: 19119
diff changeset
304 test_main()