mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Add test for bytecode modification (PY-23022)
This commit is contained in:
@@ -0,0 +1,268 @@
|
||||
|
||||
|
||||
def foo():
|
||||
a0 = 1
|
||||
a1 = 1
|
||||
a2 = 1
|
||||
a3 = 1
|
||||
a4 = 1
|
||||
a5 = 1
|
||||
a6 = 1
|
||||
a7 = 1
|
||||
a8 = 1
|
||||
a9 = 1
|
||||
a10 = 1
|
||||
a11 = 1
|
||||
a12 = 1
|
||||
a13 = 1
|
||||
a14 = 1
|
||||
a15 = 1
|
||||
a16 = 1
|
||||
a17 = 1
|
||||
a18 = 1
|
||||
a19 = 1
|
||||
a20 = 1
|
||||
a21 = 1
|
||||
a22 = 1
|
||||
a23 = 1
|
||||
a24 = 1
|
||||
a25 = 1
|
||||
a26 = 1
|
||||
a27 = 1
|
||||
a28 = 1
|
||||
a29 = 1
|
||||
a30 = 1
|
||||
a31 = 1
|
||||
a32 = 1
|
||||
a33 = 1
|
||||
a34 = 1
|
||||
a35 = 1
|
||||
a36 = 1
|
||||
a37 = 1
|
||||
a38 = 1
|
||||
a39 = 1
|
||||
a40 = 1
|
||||
a41 = 1
|
||||
a42 = 1
|
||||
a43 = 1
|
||||
a44 = 1
|
||||
a45 = 1
|
||||
a46 = 1
|
||||
a47 = 1
|
||||
a48 = 1
|
||||
a49 = 1
|
||||
a50 = 1
|
||||
a51 = 1
|
||||
a52 = 1
|
||||
a53 = 1
|
||||
a54 = 1
|
||||
a55 = 1
|
||||
a56 = 1
|
||||
a57 = 1
|
||||
a58 = 1
|
||||
a59 = 1
|
||||
a60 = 1
|
||||
a61 = 1
|
||||
a62 = 1
|
||||
a63 = 1
|
||||
a64 = 1
|
||||
a65 = 1
|
||||
a66 = 1
|
||||
a67 = 1
|
||||
a68 = 1
|
||||
a69 = 1
|
||||
a70 = 1
|
||||
a71 = 1
|
||||
a72 = 1
|
||||
a73 = 1
|
||||
a74 = 1
|
||||
a75 = 1
|
||||
a76 = 1
|
||||
a77 = 1
|
||||
a78 = 1
|
||||
a79 = 1
|
||||
a80 = 1
|
||||
a81 = 1
|
||||
a82 = 1
|
||||
a83 = 1
|
||||
a84 = 1
|
||||
a85 = 1
|
||||
a86 = 1
|
||||
a87 = 1
|
||||
a88 = 1
|
||||
a89 = 1
|
||||
a90 = 1
|
||||
a91 = 1
|
||||
a92 = 1
|
||||
a93 = 1
|
||||
a94 = 1
|
||||
a95 = 1
|
||||
a96 = 1
|
||||
a97 = 1
|
||||
a98 = 1
|
||||
a99 = 1
|
||||
a100 = 1
|
||||
a101 = 1
|
||||
a102 = 1
|
||||
a103 = 1
|
||||
a104 = 1
|
||||
a105 = 1
|
||||
a106 = 1
|
||||
a107 = 1
|
||||
a108 = 1
|
||||
a109 = 1
|
||||
a110 = 1
|
||||
a111 = 1
|
||||
a112 = 1
|
||||
a113 = 1
|
||||
a114 = 1
|
||||
a115 = 1
|
||||
a116 = 1
|
||||
a117 = 1
|
||||
a118 = 1
|
||||
a119 = 1
|
||||
a120 = 1
|
||||
a121 = 1
|
||||
a122 = 1
|
||||
a123 = 1
|
||||
a124 = 1
|
||||
a125 = 1
|
||||
a126 = 1
|
||||
a127 = 1
|
||||
a128 = 1
|
||||
a129 = 1
|
||||
a130 = 1
|
||||
a131 = 1
|
||||
a132 = 1
|
||||
a133 = 1
|
||||
a134 = 1
|
||||
a135 = 1
|
||||
a136 = 1
|
||||
a137 = 1
|
||||
a138 = 1
|
||||
a139 = 1
|
||||
a140 = 1
|
||||
a141 = 1
|
||||
a142 = 1
|
||||
a143 = 1
|
||||
a144 = 1
|
||||
a145 = 1
|
||||
a146 = 1
|
||||
a147 = 1
|
||||
a148 = 1
|
||||
a149 = 1
|
||||
a150 = 1
|
||||
a151 = 1
|
||||
a152 = 1
|
||||
a153 = 1
|
||||
a154 = 1
|
||||
a155 = 1
|
||||
a156 = 1
|
||||
a157 = 1
|
||||
a158 = 1
|
||||
a159 = 1
|
||||
a160 = 1
|
||||
a161 = 1
|
||||
a162 = 1
|
||||
a163 = 1
|
||||
a164 = 1
|
||||
a165 = 1
|
||||
a166 = 1
|
||||
a167 = 1
|
||||
a168 = 1
|
||||
a169 = 1
|
||||
a170 = 1
|
||||
a171 = 1
|
||||
a172 = 1
|
||||
a173 = 1
|
||||
a174 = 1
|
||||
a175 = 1
|
||||
a176 = 1
|
||||
a177 = 1
|
||||
a178 = 1
|
||||
a179 = 1
|
||||
a180 = 1
|
||||
a181 = 1
|
||||
a182 = 1
|
||||
a183 = 1
|
||||
a184 = 1
|
||||
a185 = 1
|
||||
a186 = 1
|
||||
a187 = 1
|
||||
a188 = 1
|
||||
a189 = 1
|
||||
a190 = 1
|
||||
a191 = 1
|
||||
a192 = 1
|
||||
a193 = 1
|
||||
a194 = 1
|
||||
a195 = 1
|
||||
a196 = 1
|
||||
a197 = 1
|
||||
a198 = 1
|
||||
a199 = 1
|
||||
a200 = 1
|
||||
a201 = 1
|
||||
a202 = 1
|
||||
a203 = 1
|
||||
a204 = 1
|
||||
a205 = 1
|
||||
a206 = 1
|
||||
a207 = 1
|
||||
a208 = 1
|
||||
a209 = 1
|
||||
a210 = 1
|
||||
a211 = 1
|
||||
a212 = 1
|
||||
a213 = 1
|
||||
a214 = 1
|
||||
a215 = 1
|
||||
a216 = 1
|
||||
a217 = 1
|
||||
a218 = 1
|
||||
a219 = 1
|
||||
a220 = 1
|
||||
a221 = 1
|
||||
a222 = 1
|
||||
a223 = 1
|
||||
a224 = 1
|
||||
a225 = 1
|
||||
a226 = 1
|
||||
a227 = 1
|
||||
a228 = 1
|
||||
a229 = 1
|
||||
a230 = 1
|
||||
a231 = 1
|
||||
a232 = 1
|
||||
a233 = 1
|
||||
a234 = 1
|
||||
a235 = 1
|
||||
a236 = 1
|
||||
a237 = 1
|
||||
a238 = 1
|
||||
a239 = 1
|
||||
a240 = 1
|
||||
a241 = 1
|
||||
a242 = 1
|
||||
a243 = 1
|
||||
a244 = 1
|
||||
a245 = 1
|
||||
a246 = 1
|
||||
a247 = 1
|
||||
a248 = 1
|
||||
a249 = 1
|
||||
a250 = 1
|
||||
a251 = 1
|
||||
a252 = 1
|
||||
a253 = 1
|
||||
a254 = 1
|
||||
a255 = 1
|
||||
a256 = 1
|
||||
a257 = 1
|
||||
a258 = 1
|
||||
a259 = 1
|
||||
b = a1 + a2
|
||||
a260 = 1
|
||||
a261 = 1
|
||||
return b
|
||||
|
||||
@@ -114,3 +114,68 @@ class TestInsertCode(unittest.TestCase):
|
||||
finally:
|
||||
sys.stdout = self.original_stdout
|
||||
|
||||
def test_offset_overflow(self):
|
||||
self.original_stdout = sys.stdout
|
||||
sys.stdout = StringIO()
|
||||
|
||||
try:
|
||||
def foo():
|
||||
a = 1 # breakpoint
|
||||
b = 2
|
||||
c = 3
|
||||
a1 = 1 if a > 1 else 2
|
||||
a2 = 1 if a > 1 else 2
|
||||
a3 = 1 if a > 1 else 2
|
||||
a4 = 1 if a > 1 else 2
|
||||
a5 = 1 if a > 1 else 2
|
||||
a6 = 1 if a > 1 else 2
|
||||
a7 = 1 if a > 1 else 2
|
||||
a8 = 1 if a > 1 else 2
|
||||
a9 = 1 if a > 1 else 2
|
||||
a10 = 1 if a > 1 else 2
|
||||
a11 = 1 if a > 1 else 2
|
||||
a12 = 1 if a > 1 else 2
|
||||
a13 = 1 if a > 1 else 2
|
||||
|
||||
for i in range(1):
|
||||
if a > 0:
|
||||
print("111")
|
||||
# a = 1
|
||||
else:
|
||||
print("222")
|
||||
return b
|
||||
|
||||
self.check_insert_to_line(foo, tracing, foo.__code__.co_firstlineno + 2)
|
||||
|
||||
finally:
|
||||
sys.stdout = self.original_stdout
|
||||
|
||||
def test_long_lines(self):
|
||||
self.original_stdout = sys.stdout
|
||||
sys.stdout = StringIO()
|
||||
|
||||
try:
|
||||
def foo():
|
||||
a = 1
|
||||
b = 1 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23
|
||||
c = 1 if b > 1 else 2 if b > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23
|
||||
d = 1 if c > 1 else 2 if c > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23
|
||||
e = d + 1
|
||||
return e
|
||||
|
||||
self.check_insert_to_line(foo, tracing, foo.__code__.co_firstlineno + 2)
|
||||
|
||||
|
||||
finally:
|
||||
sys.stdout = self.original_stdout
|
||||
|
||||
def test_many_names(self):
|
||||
self.original_stdout = sys.stdout
|
||||
sys.stdout = StringIO()
|
||||
|
||||
try:
|
||||
from tests_pydevd_python._many_names_example import foo
|
||||
self.check_insert_to_line(foo, tracing, foo.__code__.co_firstlineno + 2)
|
||||
|
||||
finally:
|
||||
sys.stdout = self.original_stdout
|
||||
Reference in New Issue
Block a user