blob: 0cb0c21e406351afb6abfee2cdecb732f78de69e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# Test the limits of bytecode generation.
body = " with f()()() as a:\n try:\n f()()()\n except Exception:\n pass\n"
# Test changing size of code info (source line/bytecode mapping) due to changing
# bytecode size in the final passes. This test is very specific to how the
# code info is encoded, and how jump offsets shrink in the final passes. This
# test should fail if the bytecode emitter doesn't correctly handle shrinking of
# the code info section.
exec(
"""
x = 0
if x:
"""
+ body * 13
+ """
x = [1 if x else 123]
print(x)
"""
)
|