diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2016-02-08 16:57:02 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2016-02-08 16:57:02 (GMT) |
commit | 51d8c526d5634fa1f0e4976fd357c5423a792082 (patch) | |
tree | 5aaa710f4f336f949691c88f70a221169ccc42f8 /Lib/test/test_peepholer.py | |
parent | f089196beb0ad8fb262be42eddd92af3f0fe81c1 (diff) | |
download | cpython-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.py | 20 |
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) |