summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_peepholer.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2016-02-08 16:57:02 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2016-02-08 16:57:02 (GMT)
commit51d8c526d5634fa1f0e4976fd357c5423a792082 (patch)
tree5aaa710f4f336f949691c88f70a221169ccc42f8 /Lib/test/test_peepholer.py
parentf089196beb0ad8fb262be42eddd92af3f0fe81c1 (diff)
downloadcpython-51d8c526d5634fa1f0e4976fd357c5423a792082.zip
cpython-51d8c526d5634fa1f0e4976fd357c5423a792082.tar.gz
cpython-51d8c526d5634fa1f0e4976fd357c5423a792082.tar.bz2
Replace noop constant statement with expression
* Constant statements will be ignored and the compiler will emit a SyntaxWarning. * Replace constant statement (ex: "1") with an expression statement (ex: "x=1"). * test_traceback: use context manager on the file. Issue #26204.
Diffstat (limited to 'Lib/test/test_peepholer.py')
-rw-r--r--Lib/test/test_peepholer.py20
1 files changed, 11 insertions, 9 deletions
diff --git a/Lib/test/test_peepholer.py b/Lib/test/test_peepholer.py
index 41e5091..b033640 100644
--- a/Lib/test/test_peepholer.py
+++ b/Lib/test/test_peepholer.py
@@ -1,9 +1,8 @@
import dis
import re
import sys
-from io import StringIO
+import textwrap
import unittest
-from math import copysign
from test.bytecode_helper import BytecodeTestCase
@@ -30,22 +29,25 @@ class TestTranforms(BytecodeTestCase):
def test_global_as_constant(self):
# LOAD_GLOBAL None/True/False --> LOAD_CONST None/True/False
- def f(x):
- None
- None
+ def f():
+ x = None
+ x = None
return x
- def g(x):
- True
+ def g():
+ x = True
return x
- def h(x):
- False
+ def h():
+ x = False
return x
+
for func, elem in ((f, None), (g, True), (h, False)):
self.assertNotInBytecode(func, 'LOAD_GLOBAL')
self.assertInBytecode(func, 'LOAD_CONST', elem)
+
def f():
'Adding a docstring made this test fail in Py2.5.0'
return None
+
self.assertNotInBytecode(f, 'LOAD_GLOBAL')
self.assertInBytecode(f, 'LOAD_CONST', None)