Skip to content

test_rjump_into_push_1()

Documentation for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjump.py::test_rjump_into_push_1@verkle@v0.0.6.

Generate fixtures for these test cases for Pragueeip7692 with:

Pragueeip7692 only:

fill -v tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjump.py::test_rjump_into_push_1 --fork=PragueEIP7692 --evm-bin=/path/to/evm-tool-dev-version

For all forks up to and including Pragueeip7692:

fill -v tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjump.py::test_rjump_into_push_1 --until=PragueEIP7692

EOF1I4200_0011 (Invalid) EOF code containing RJUMP with target PUSH1 immediate

Source code in tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjump.py
384
385
386
387
388
389
390
391
392
393
394
395
396
397
@pytest.mark.parametrize("jump", [JumpDirection.FORWARD, JumpDirection.BACKWARD])
def test_rjump_into_push_1(eof_test: EOFTestFiller, jump: JumpDirection):
    """EOF1I4200_0011 (Invalid) EOF code containing RJUMP with target PUSH1 immediate"""
    code = (
        Op.PUSH1[1] + Op.RJUMP[-4] if jump == JumpDirection.BACKWARD else Op.RJUMP[1] + Op.PUSH1[1]
    ) + Op.STOP
    eof_test(
        data=Container(
            sections=[
                Section.Code(code=code),
            ],
        ),
        expect_exception=EOFException.INVALID_RJUMP_DESTINATION,
    )

Parametrized Test Cases

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

Skipped Parameters

For more concise readability, the table below does not list the following parameter values: fork, blockchain_test, state_test, state_test_only, eof_test, eof_state_test.

Test ID jump
jump_JumpDirection.FORWARD JumpDirection.FORWARD
jump_JumpDirection.BACKWARD JumpDirection.BACKWARD