You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
566 B
27 lines
566 B
3 years ago
|
# 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)
|
||
|
"""
|
||
|
)
|