Skip to content

test_jumpf_other_stack_overflow()

Documentation for tests/osaka/eip7692_eof_v1/eip6206_jumpf/test_jumpf_validation.py::test_jumpf_other_stack_overflow@bc691d13.

Generate fixtures for these test cases for Osaka with:

fill -v tests/osaka/eip7692_eof_v1/eip6206_jumpf/test_jumpf_validation.py::test_jumpf_other_stack_overflow --fork Osaka

Test JUMPF instruction jumping to other section causing validation time stack overflow.

Source code in tests/osaka/eip7692_eof_v1/eip6206_jumpf/test_jumpf_validation.py
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
@pytest.mark.parametrize("stack_height_other", [1, 2, 512, 513, 1023])
@pytest.mark.parametrize("stack_height", [1, 2, 512, 513, 1023])
def test_jumpf_other_stack_overflow(
    eof_test: EOFTestFiller, stack_height: int, stack_height_other: int
):
    """Test JUMPF instruction jumping to other section causing validation time stack overflow."""
    container = Container(
        sections=[
            Section.Code(
                code=(Op.PUSH0 * stack_height) + Op.JUMPF[1],
                max_stack_height=stack_height,
            ),
            Section.Code(
                code=(Op.PUSH0 * stack_height_other) + Op.STOP,
                max_stack_height=stack_height_other,
            ),
        ],
    )
    stack_overflow = stack_height + stack_height_other > MAX_RUNTIME_STACK_HEIGHT
    eof_test(
        container=container,
        expect_exception=EOFException.STACK_OVERFLOW if stack_overflow else None,
    )

Parametrized Test Cases

The interactive table below is also available as a standalone page.

Test ID (Abbreviated) stack_height stack_height_other
...fork_Osaka-eof_test-stack_height_1-stack_height_other_1 1 1
...fork_Osaka-eof_test-stack_height_1-stack_height_other_2 1 2
...fork_Osaka-eof_test-stack_height_1-stack_height_other_512 1 512
...fork_Osaka-eof_test-stack_height_1-stack_height_other_513 1 513
...fork_Osaka-eof_test-stack_height_1-stack_height_other_1023 1 1023
...fork_Osaka-eof_test-stack_height_2-stack_height_other_1 2 1
...fork_Osaka-eof_test-stack_height_2-stack_height_other_2 2 2
...fork_Osaka-eof_test-stack_height_2-stack_height_other_512 2 512
...fork_Osaka-eof_test-stack_height_2-stack_height_other_513 2 513
...fork_Osaka-eof_test-stack_height_2-stack_height_other_1023 2 1023
...fork_Osaka-eof_test-stack_height_512-stack_height_other_1 512 1
...fork_Osaka-eof_test-stack_height_512-stack_height_other_2 512 2
...fork_Osaka-eof_test-stack_height_512-stack_height_other_512 512 512
...fork_Osaka-eof_test-stack_height_512-stack_height_other_513 512 513
...fork_Osaka-eof_test-stack_height_512-stack_height_other_1023 512 1023
...fork_Osaka-eof_test-stack_height_513-stack_height_other_1 513 1
...fork_Osaka-eof_test-stack_height_513-stack_height_other_2 513 2
...fork_Osaka-eof_test-stack_height_513-stack_height_other_512 513 512
...fork_Osaka-eof_test-stack_height_513-stack_height_other_513 513 513
...fork_Osaka-eof_test-stack_height_513-stack_height_other_1023 513 1023
...fork_Osaka-eof_test-stack_height_1023-stack_height_other_1 1023 1
...fork_Osaka-eof_test-stack_height_1023-stack_height_other_2 1023 2
...fork_Osaka-eof_test-stack_height_1023-stack_height_other_512 1023 512
...fork_Osaka-eof_test-stack_height_1023-stack_height_other_513 1023 513
...fork_Osaka-eof_test-stack_height_1023-stack_height_other_1023 1023 1023
...fork_Osaka-state_test_from_eof_test-stack_height_1-stack_height_other_1 1 1
...fork_Osaka-state_test_from_eof_test-stack_height_1-stack_height_other_2 1 2
...fork_Osaka-state_test_from_eof_test-stack_height_1-stack_height_other_512 1 512
...fork_Osaka-state_test_from_eof_test-stack_height_1-stack_height_other_513 1 513
...fork_Osaka-state_test_from_eof_test-stack_height_1-stack_height_other_1023 1 1023
...fork_Osaka-state_test_from_eof_test-stack_height_2-stack_height_other_1 2 1
...fork_Osaka-state_test_from_eof_test-stack_height_2-stack_height_other_2 2 2
...fork_Osaka-state_test_from_eof_test-stack_height_2-stack_height_other_512 2 512
...fork_Osaka-state_test_from_eof_test-stack_height_2-stack_height_other_513 2 513
...fork_Osaka-state_test_from_eof_test-stack_height_2-stack_height_other_1023 2 1023
...fork_Osaka-state_test_from_eof_test-stack_height_512-stack_height_other_1 512 1
...fork_Osaka-state_test_from_eof_test-stack_height_512-stack_height_other_2 512 2
...fork_Osaka-state_test_from_eof_test-stack_height_512-stack_height_other_512 512 512
...fork_Osaka-state_test_from_eof_test-stack_height_512-stack_height_other_513 512 513
...fork_Osaka-state_test_from_eof_test-stack_height_512-stack_height_other_1023 512 1023
...fork_Osaka-state_test_from_eof_test-stack_height_513-stack_height_other_1 513 1
...fork_Osaka-state_test_from_eof_test-stack_height_513-stack_height_other_2 513 2
...fork_Osaka-state_test_from_eof_test-stack_height_513-stack_height_other_512 513 512
...fork_Osaka-state_test_from_eof_test-stack_height_513-stack_height_other_513 513 513
...fork_Osaka-state_test_from_eof_test-stack_height_513-stack_height_other_1023 513 1023
...fork_Osaka-state_test_from_eof_test-stack_height_1023-stack_height_other_1 1023 1
...fork_Osaka-state_test_from_eof_test-stack_height_1023-stack_height_other_2 1023 2
...fork_Osaka-state_test_from_eof_test-stack_height_1023-stack_height_other_512 1023 512
...fork_Osaka-state_test_from_eof_test-stack_height_1023-stack_height_other_513 1023 513
...fork_Osaka-state_test_from_eof_test-stack_height_1023-stack_height_other_1023 1023 1023
...fork_Osaka-blockchain_test_from_eof_test-stack_height_1-stack_height_other_1 1 1
...fork_Osaka-blockchain_test_from_eof_test-stack_height_1-stack_height_other_2 1 2
...fork_Osaka-blockchain_test_from_eof_test-stack_height_1-stack_height_other_512 1 512
...fork_Osaka-blockchain_test_from_eof_test-stack_height_1-stack_height_other_513 1 513
...fork_Osaka-blockchain_test_from_eof_test-stack_height_1-stack_height_other_1023 1 1023
...fork_Osaka-blockchain_test_from_eof_test-stack_height_2-stack_height_other_1 2 1
...fork_Osaka-blockchain_test_from_eof_test-stack_height_2-stack_height_other_2 2 2
...fork_Osaka-blockchain_test_from_eof_test-stack_height_2-stack_height_other_512 2 512
...fork_Osaka-blockchain_test_from_eof_test-stack_height_2-stack_height_other_513 2 513
...fork_Osaka-blockchain_test_from_eof_test-stack_height_2-stack_height_other_1023 2 1023
...fork_Osaka-blockchain_test_from_eof_test-stack_height_512-stack_height_other_1 512 1
...fork_Osaka-blockchain_test_from_eof_test-stack_height_512-stack_height_other_2 512 2
...fork_Osaka-blockchain_test_from_eof_test-stack_height_512-stack_height_other_512 512 512
...fork_Osaka-blockchain_test_from_eof_test-stack_height_512-stack_height_other_513 512 513
...fork_Osaka-blockchain_test_from_eof_test-stack_height_512-stack_height_other_1023 512 1023
...fork_Osaka-blockchain_test_from_eof_test-stack_height_513-stack_height_other_1 513 1
...fork_Osaka-blockchain_test_from_eof_test-stack_height_513-stack_height_other_2 513 2
...fork_Osaka-blockchain_test_from_eof_test-stack_height_513-stack_height_other_512 513 512
...fork_Osaka-blockchain_test_from_eof_test-stack_height_513-stack_height_other_513 513 513
...fork_Osaka-blockchain_test_from_eof_test-stack_height_513-stack_height_other_1023 513 1023
...fork_Osaka-blockchain_test_from_eof_test-stack_height_1023-stack_height_other_1 1023 1
...fork_Osaka-blockchain_test_from_eof_test-stack_height_1023-stack_height_other_2 1023 2
...fork_Osaka-blockchain_test_from_eof_test-stack_height_1023-stack_height_other_512 1023 512
...fork_Osaka-blockchain_test_from_eof_test-stack_height_1023-stack_height_other_513 1023 513
...fork_Osaka-blockchain_test_from_eof_test-stack_height_1023-stack_height_other_1023 1023 1023