Skip to content

Commit a14cb3d

Browse files
feat(tests): read code size from forks from newly added tests after rebase
1 parent dd66a24 commit a14cb3d

File tree

1 file changed

+24
-16
lines changed

1 file changed

+24
-16
lines changed

tests/zkevm/test_worst_compute.py

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -81,17 +81,19 @@ def make_dup(index: int) -> Opcode:
8181
def test_worst_zero_param(
8282
state_test: StateTestFiller,
8383
pre: Alloc,
84+
fork: Fork,
8485
opcode: Op,
8586
):
8687
"""Test running a block with as many zero-parameter opcodes as possible."""
8788
env = Environment()
89+
max_code_size = fork.max_code_size()
8890

8991
code_prefix = Op.JUMPDEST
9092
iter_loop = Op.POP(opcode)
9193
code_suffix = Op.PUSH0 + Op.JUMP
92-
code_iter_len = (MAX_CODE_SIZE - len(code_prefix) - len(code_suffix)) // len(iter_loop)
94+
code_iter_len = (max_code_size - len(code_prefix) - len(code_suffix)) // len(iter_loop)
9395
code = code_prefix + iter_loop * code_iter_len + code_suffix
94-
assert len(code) <= MAX_CODE_SIZE
96+
assert len(code) <= max_code_size
9597

9698
tx = Transaction(
9799
to=pre.deploy_contract(code=bytes(code)),
@@ -112,17 +114,19 @@ def test_worst_zero_param(
112114
def test_worst_calldatasize(
113115
state_test: StateTestFiller,
114116
pre: Alloc,
117+
fork: Fork,
115118
calldata_length: int,
116119
):
117120
"""Test running a block with as many CALLDATASIZE as possible."""
118121
env = Environment()
122+
max_code_size = fork.max_code_size()
119123

120124
code_prefix = Op.JUMPDEST
121125
iter_loop = Op.POP(Op.CALLDATASIZE)
122126
code_suffix = Op.PUSH0 + Op.JUMP
123-
code_iter_len = (MAX_CODE_SIZE - len(code_prefix) - len(code_suffix)) // len(iter_loop)
127+
code_iter_len = (max_code_size - len(code_prefix) - len(code_suffix)) // len(iter_loop)
124128
code = code_prefix + iter_loop * code_iter_len + code_suffix
125-
assert len(code) <= MAX_CODE_SIZE
129+
assert len(code) <= max_code_size
126130

127131
tx = Transaction(
128132
to=pre.deploy_contract(code=bytes(code)),
@@ -145,6 +149,7 @@ def test_worst_calldatasize(
145149
def test_worst_callvalue(
146150
state_test: StateTestFiller,
147151
pre: Alloc,
152+
fork: Fork,
148153
non_zero_value: bool,
149154
from_origin: bool,
150155
):
@@ -156,13 +161,14 @@ def test_worst_callvalue(
156161
transaction or a previous CALL.
157162
"""
158163
env = Environment()
164+
max_code_size = fork.max_code_size()
159165

160166
code_prefix = Op.JUMPDEST
161167
iter_loop = Op.POP(Op.CALLVALUE)
162168
code_suffix = Op.PUSH0 + Op.JUMP
163-
code_iter_len = (MAX_CODE_SIZE - len(code_prefix) - len(code_suffix)) // len(iter_loop)
169+
code_iter_len = (max_code_size - len(code_prefix) - len(code_suffix)) // len(iter_loop)
164170
code = code_prefix + iter_loop * code_iter_len + code_suffix
165-
assert len(code) <= MAX_CODE_SIZE
171+
assert len(code) <= max_code_size
166172
code_address = pre.deploy_contract(code=bytes(code))
167173

168174
tx_to = (
@@ -209,6 +215,7 @@ class ReturnDataStyle(Enum):
209215
def test_worst_returndatasize_nonzero(
210216
state_test: StateTestFiller,
211217
pre: Alloc,
218+
fork: Fork,
212219
returned_size: int,
213220
return_data_style: ReturnDataStyle,
214221
):
@@ -220,6 +227,7 @@ def test_worst_returndatasize_nonzero(
220227
The `return_data_style` indicates how returned data is produced for the opcode caller.
221228
"""
222229
env = Environment()
230+
max_code_size = fork.max_code_size()
223231

224232
dummy_contract_call = Bytecode()
225233
if return_data_style != ReturnDataStyle.IDENTITY:
@@ -239,9 +247,9 @@ def test_worst_returndatasize_nonzero(
239247
code_prefix = dummy_contract_call + Op.JUMPDEST
240248
iter_loop = Op.POP(Op.RETURNDATASIZE)
241249
code_suffix = Op.JUMP(len(code_prefix) - 1)
242-
code_iter_len = (MAX_CODE_SIZE - len(code_prefix) - len(code_suffix)) // len(iter_loop)
250+
code_iter_len = (max_code_size - len(code_prefix) - len(code_suffix)) // len(iter_loop)
243251
code = code_prefix + iter_loop * code_iter_len + code_suffix
244-
assert len(code) <= MAX_CODE_SIZE
252+
assert len(code) <= max_code_size
245253

246254
tx = Transaction(
247255
to=pre.deploy_contract(code=bytes(code)),
@@ -258,21 +266,19 @@ def test_worst_returndatasize_nonzero(
258266

259267

260268
@pytest.mark.valid_from("Cancun")
261-
def test_worst_returndatasize_zero(
262-
state_test: StateTestFiller,
263-
pre: Alloc,
264-
):
269+
def test_worst_returndatasize_zero(state_test: StateTestFiller, pre: Alloc, fork: Fork):
265270
"""Test running a block with as many RETURNDATASIZE opcodes as possible with a zero buffer."""
266271
env = Environment()
272+
max_code_size = fork.max_code_size()
267273

268274
dummy_contract_call = Bytecode()
269275

270276
code_prefix = dummy_contract_call + Op.JUMPDEST
271277
iter_loop = Op.POP(Op.RETURNDATASIZE)
272278
code_suffix = Op.JUMP(len(code_prefix) - 1)
273-
code_iter_len = (MAX_CODE_SIZE - len(code_prefix) - len(code_suffix)) // len(iter_loop)
279+
code_iter_len = (max_code_size - len(code_prefix) - len(code_suffix)) // len(iter_loop)
274280
code = code_prefix + iter_loop * code_iter_len + code_suffix
275-
assert len(code) <= MAX_CODE_SIZE
281+
assert len(code) <= max_code_size
276282

277283
tx = Transaction(
278284
to=pre.deploy_contract(code=bytes(code)),
@@ -293,6 +299,7 @@ def test_worst_returndatasize_zero(
293299
def test_worst_msize(
294300
state_test: StateTestFiller,
295301
pre: Alloc,
302+
fork: Fork,
296303
mem_size: int,
297304
):
298305
"""
@@ -301,14 +308,15 @@ def test_worst_msize(
301308
The `mem_size` parameter indicates by how much the memory is expanded.
302309
"""
303310
env = Environment()
311+
max_code_size = fork.max_code_size()
304312

305313
# We use CALLVALUE for the parameter since is 1 gas cheaper than PUSHX.
306314
code_prefix = Op.MLOAD(Op.CALLVALUE) + Op.JUMPDEST
307315
iter_loop = Op.POP(Op.MSIZE)
308316
code_suffix = Op.JUMP(len(code_prefix) - 1)
309-
code_iter_len = (MAX_CODE_SIZE - len(code_prefix) - len(code_suffix)) // len(iter_loop)
317+
code_iter_len = (max_code_size - len(code_prefix) - len(code_suffix)) // len(iter_loop)
310318
code = code_prefix + iter_loop * code_iter_len + code_suffix
311-
assert len(code) <= MAX_CODE_SIZE
319+
assert len(code) <= max_code_size
312320

313321
tx = Transaction(
314322
to=pre.deploy_contract(code=bytes(code)),

0 commit comments

Comments
 (0)