Skip to content

Commit 9961f11

Browse files
feat(tests): read code size from forks from newly added tests after rebase
1 parent 08c421c commit 9961f11

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
@@ -82,17 +82,19 @@ def make_dup(index: int) -> Opcode:
8282
def test_worst_zero_param(
8383
state_test: StateTestFiller,
8484
pre: Alloc,
85+
fork: Fork,
8586
opcode: Op,
8687
):
8788
"""Test running a block with as many zero-parameter opcodes as possible."""
8889
env = Environment()
90+
max_code_size = fork.max_code_size()
8991

9092
code_prefix = Op.JUMPDEST
9193
iter_loop = Op.POP(opcode)
9294
code_suffix = Op.PUSH0 + Op.JUMP
93-
code_iter_len = (MAX_CODE_SIZE - len(code_prefix) - len(code_suffix)) // len(iter_loop)
95+
code_iter_len = (max_code_size - len(code_prefix) - len(code_suffix)) // len(iter_loop)
9496
code = code_prefix + iter_loop * code_iter_len + code_suffix
95-
assert len(code) <= MAX_CODE_SIZE
97+
assert len(code) <= max_code_size
9698

9799
tx = Transaction(
98100
to=pre.deploy_contract(code=bytes(code)),
@@ -113,17 +115,19 @@ def test_worst_zero_param(
113115
def test_worst_calldatasize(
114116
state_test: StateTestFiller,
115117
pre: Alloc,
118+
fork: Fork,
116119
calldata_length: int,
117120
):
118121
"""Test running a block with as many CALLDATASIZE as possible."""
119122
env = Environment()
123+
max_code_size = fork.max_code_size()
120124

121125
code_prefix = Op.JUMPDEST
122126
iter_loop = Op.POP(Op.CALLDATASIZE)
123127
code_suffix = Op.PUSH0 + Op.JUMP
124-
code_iter_len = (MAX_CODE_SIZE - len(code_prefix) - len(code_suffix)) // len(iter_loop)
128+
code_iter_len = (max_code_size - len(code_prefix) - len(code_suffix)) // len(iter_loop)
125129
code = code_prefix + iter_loop * code_iter_len + code_suffix
126-
assert len(code) <= MAX_CODE_SIZE
130+
assert len(code) <= max_code_size
127131

128132
tx = Transaction(
129133
to=pre.deploy_contract(code=bytes(code)),
@@ -146,6 +150,7 @@ def test_worst_calldatasize(
146150
def test_worst_callvalue(
147151
state_test: StateTestFiller,
148152
pre: Alloc,
153+
fork: Fork,
149154
non_zero_value: bool,
150155
from_origin: bool,
151156
):
@@ -157,13 +162,14 @@ def test_worst_callvalue(
157162
transaction or a previous CALL.
158163
"""
159164
env = Environment()
165+
max_code_size = fork.max_code_size()
160166

161167
code_prefix = Op.JUMPDEST
162168
iter_loop = Op.POP(Op.CALLVALUE)
163169
code_suffix = Op.PUSH0 + Op.JUMP
164-
code_iter_len = (MAX_CODE_SIZE - len(code_prefix) - len(code_suffix)) // len(iter_loop)
170+
code_iter_len = (max_code_size - len(code_prefix) - len(code_suffix)) // len(iter_loop)
165171
code = code_prefix + iter_loop * code_iter_len + code_suffix
166-
assert len(code) <= MAX_CODE_SIZE
172+
assert len(code) <= max_code_size
167173
code_address = pre.deploy_contract(code=bytes(code))
168174

169175
tx_to = (
@@ -210,6 +216,7 @@ class ReturnDataStyle(Enum):
210216
def test_worst_returndatasize_nonzero(
211217
state_test: StateTestFiller,
212218
pre: Alloc,
219+
fork: Fork,
213220
returned_size: int,
214221
return_data_style: ReturnDataStyle,
215222
):
@@ -221,6 +228,7 @@ def test_worst_returndatasize_nonzero(
221228
The `return_data_style` indicates how returned data is produced for the opcode caller.
222229
"""
223230
env = Environment()
231+
max_code_size = fork.max_code_size()
224232

225233
dummy_contract_call = Bytecode()
226234
if return_data_style != ReturnDataStyle.IDENTITY:
@@ -240,9 +248,9 @@ def test_worst_returndatasize_nonzero(
240248
code_prefix = dummy_contract_call + Op.JUMPDEST
241249
iter_loop = Op.POP(Op.RETURNDATASIZE)
242250
code_suffix = Op.JUMP(len(code_prefix) - 1)
243-
code_iter_len = (MAX_CODE_SIZE - len(code_prefix) - len(code_suffix)) // len(iter_loop)
251+
code_iter_len = (max_code_size - len(code_prefix) - len(code_suffix)) // len(iter_loop)
244252
code = code_prefix + iter_loop * code_iter_len + code_suffix
245-
assert len(code) <= MAX_CODE_SIZE
253+
assert len(code) <= max_code_size
246254

247255
tx = Transaction(
248256
to=pre.deploy_contract(code=bytes(code)),
@@ -259,21 +267,19 @@ def test_worst_returndatasize_nonzero(
259267

260268

261269
@pytest.mark.valid_from("Cancun")
262-
def test_worst_returndatasize_zero(
263-
state_test: StateTestFiller,
264-
pre: Alloc,
265-
):
270+
def test_worst_returndatasize_zero(state_test: StateTestFiller, pre: Alloc, fork: Fork):
266271
"""Test running a block with as many RETURNDATASIZE opcodes as possible with a zero buffer."""
267272
env = Environment()
273+
max_code_size = fork.max_code_size()
268274

269275
dummy_contract_call = Bytecode()
270276

271277
code_prefix = dummy_contract_call + Op.JUMPDEST
272278
iter_loop = Op.POP(Op.RETURNDATASIZE)
273279
code_suffix = Op.JUMP(len(code_prefix) - 1)
274-
code_iter_len = (MAX_CODE_SIZE - len(code_prefix) - len(code_suffix)) // len(iter_loop)
280+
code_iter_len = (max_code_size - len(code_prefix) - len(code_suffix)) // len(iter_loop)
275281
code = code_prefix + iter_loop * code_iter_len + code_suffix
276-
assert len(code) <= MAX_CODE_SIZE
282+
assert len(code) <= max_code_size
277283

278284
tx = Transaction(
279285
to=pre.deploy_contract(code=bytes(code)),
@@ -294,6 +300,7 @@ def test_worst_returndatasize_zero(
294300
def test_worst_msize(
295301
state_test: StateTestFiller,
296302
pre: Alloc,
303+
fork: Fork,
297304
mem_size: int,
298305
):
299306
"""
@@ -302,14 +309,15 @@ def test_worst_msize(
302309
The `mem_size` parameter indicates by how much the memory is expanded.
303310
"""
304311
env = Environment()
312+
max_code_size = fork.max_code_size()
305313

306314
# We use CALLVALUE for the parameter since is 1 gas cheaper than PUSHX.
307315
code_prefix = Op.MLOAD(Op.CALLVALUE) + Op.JUMPDEST
308316
iter_loop = Op.POP(Op.MSIZE)
309317
code_suffix = Op.JUMP(len(code_prefix) - 1)
310-
code_iter_len = (MAX_CODE_SIZE - len(code_prefix) - len(code_suffix)) // len(iter_loop)
318+
code_iter_len = (max_code_size - len(code_prefix) - len(code_suffix)) // len(iter_loop)
311319
code = code_prefix + iter_loop * code_iter_len + code_suffix
312-
assert len(code) <= MAX_CODE_SIZE
320+
assert len(code) <= max_code_size
313321

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

0 commit comments

Comments
 (0)