Skip to content

test_worst_push()

Documentation for tests/benchmark/test_worst_compute.py::test_worst_push@88e9fb8f.

Generate fixtures for these test cases for Osaka with:

fill -v tests/benchmark/test_worst_compute.py::test_worst_push -m benchmark

Test running a block with as many PUSH as possible.

Source code in tests/benchmark/test_worst_compute.py
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
@pytest.mark.parametrize(
    "opcode",
    [
        pytest.param(Op.PUSH0),
        pytest.param(Op.PUSH1),
        pytest.param(Op.PUSH2),
        pytest.param(Op.PUSH3),
        pytest.param(Op.PUSH4),
        pytest.param(Op.PUSH5),
        pytest.param(Op.PUSH6),
        pytest.param(Op.PUSH7),
        pytest.param(Op.PUSH8),
        pytest.param(Op.PUSH9),
        pytest.param(Op.PUSH10),
        pytest.param(Op.PUSH11),
        pytest.param(Op.PUSH12),
        pytest.param(Op.PUSH13),
        pytest.param(Op.PUSH14),
        pytest.param(Op.PUSH15),
        pytest.param(Op.PUSH16),
        pytest.param(Op.PUSH17),
        pytest.param(Op.PUSH18),
        pytest.param(Op.PUSH19),
        pytest.param(Op.PUSH20),
        pytest.param(Op.PUSH21),
        pytest.param(Op.PUSH22),
        pytest.param(Op.PUSH23),
        pytest.param(Op.PUSH24),
        pytest.param(Op.PUSH25),
        pytest.param(Op.PUSH26),
        pytest.param(Op.PUSH27),
        pytest.param(Op.PUSH28),
        pytest.param(Op.PUSH29),
        pytest.param(Op.PUSH30),
        pytest.param(Op.PUSH31),
        pytest.param(Op.PUSH32),
    ],
)
def test_worst_push(
    benchmark_test: BenchmarkTestFiller,
    opcode: Op,
) -> None:
    """Test running a block with as many PUSH as possible."""
    benchmark_test(
        code_generator=ExtCallGenerator(
            attack_block=opcode[1] if opcode.has_data_portion() else opcode
        ),
    )

Parametrized Test Cases

This test case is only parametrized by fork.

Test ID (Abbreviated) opcode
...fork_Prague-blockchain_test-opcode_PUSH0 PUSH0
...fork_Prague-blockchain_test-opcode_PUSH1 PUSH1
...fork_Prague-blockchain_test-opcode_PUSH2 PUSH2
...fork_Prague-blockchain_test-opcode_PUSH3 PUSH3
...fork_Prague-blockchain_test-opcode_PUSH4 PUSH4
...fork_Prague-blockchain_test-opcode_PUSH5 PUSH5
...fork_Prague-blockchain_test-opcode_PUSH6 PUSH6
...fork_Prague-blockchain_test-opcode_PUSH7 PUSH7
...fork_Prague-blockchain_test-opcode_PUSH8 PUSH8
...fork_Prague-blockchain_test-opcode_PUSH9 PUSH9
...fork_Prague-blockchain_test-opcode_PUSH10 PUSH10
...fork_Prague-blockchain_test-opcode_PUSH11 PUSH11
...fork_Prague-blockchain_test-opcode_PUSH12 PUSH12
...fork_Prague-blockchain_test-opcode_PUSH13 PUSH13
...fork_Prague-blockchain_test-opcode_PUSH14 PUSH14
...fork_Prague-blockchain_test-opcode_PUSH15 PUSH15
...fork_Prague-blockchain_test-opcode_PUSH16 PUSH16
...fork_Prague-blockchain_test-opcode_PUSH17 PUSH17
...fork_Prague-blockchain_test-opcode_PUSH18 PUSH18
...fork_Prague-blockchain_test-opcode_PUSH19 PUSH19
...fork_Prague-blockchain_test-opcode_PUSH20 PUSH20
...fork_Prague-blockchain_test-opcode_PUSH21 PUSH21
...fork_Prague-blockchain_test-opcode_PUSH22 PUSH22
...fork_Prague-blockchain_test-opcode_PUSH23 PUSH23
...fork_Prague-blockchain_test-opcode_PUSH24 PUSH24
...fork_Prague-blockchain_test-opcode_PUSH25 PUSH25
...fork_Prague-blockchain_test-opcode_PUSH26 PUSH26
...fork_Prague-blockchain_test-opcode_PUSH27 PUSH27
...fork_Prague-blockchain_test-opcode_PUSH28 PUSH28
...fork_Prague-blockchain_test-opcode_PUSH29 PUSH29
...fork_Prague-blockchain_test-opcode_PUSH30 PUSH30
...fork_Prague-blockchain_test-opcode_PUSH31 PUSH31
...fork_Prague-blockchain_test-opcode_PUSH32 PUSH32
...fork_Osaka-blockchain_test-opcode_PUSH0 PUSH0
...fork_Osaka-blockchain_test-opcode_PUSH1 PUSH1
...fork_Osaka-blockchain_test-opcode_PUSH2 PUSH2
...fork_Osaka-blockchain_test-opcode_PUSH3 PUSH3
...fork_Osaka-blockchain_test-opcode_PUSH4 PUSH4
...fork_Osaka-blockchain_test-opcode_PUSH5 PUSH5
...fork_Osaka-blockchain_test-opcode_PUSH6 PUSH6
...fork_Osaka-blockchain_test-opcode_PUSH7 PUSH7
...fork_Osaka-blockchain_test-opcode_PUSH8 PUSH8
...fork_Osaka-blockchain_test-opcode_PUSH9 PUSH9
...fork_Osaka-blockchain_test-opcode_PUSH10 PUSH10
...fork_Osaka-blockchain_test-opcode_PUSH11 PUSH11
...fork_Osaka-blockchain_test-opcode_PUSH12 PUSH12
...fork_Osaka-blockchain_test-opcode_PUSH13 PUSH13
...fork_Osaka-blockchain_test-opcode_PUSH14 PUSH14
...fork_Osaka-blockchain_test-opcode_PUSH15 PUSH15
...fork_Osaka-blockchain_test-opcode_PUSH16 PUSH16
...fork_Osaka-blockchain_test-opcode_PUSH17 PUSH17
...fork_Osaka-blockchain_test-opcode_PUSH18 PUSH18
...fork_Osaka-blockchain_test-opcode_PUSH19 PUSH19
...fork_Osaka-blockchain_test-opcode_PUSH20 PUSH20
...fork_Osaka-blockchain_test-opcode_PUSH21 PUSH21
...fork_Osaka-blockchain_test-opcode_PUSH22 PUSH22
...fork_Osaka-blockchain_test-opcode_PUSH23 PUSH23
...fork_Osaka-blockchain_test-opcode_PUSH24 PUSH24
...fork_Osaka-blockchain_test-opcode_PUSH25 PUSH25
...fork_Osaka-blockchain_test-opcode_PUSH26 PUSH26
...fork_Osaka-blockchain_test-opcode_PUSH27 PUSH27
...fork_Osaka-blockchain_test-opcode_PUSH28 PUSH28
...fork_Osaka-blockchain_test-opcode_PUSH29 PUSH29
...fork_Osaka-blockchain_test-opcode_PUSH30 PUSH30
...fork_Osaka-blockchain_test-opcode_PUSH31 PUSH31
...fork_Osaka-blockchain_test-opcode_PUSH32 PUSH32