Skip to content

test_orphan_container()

Documentation for tests/osaka/eip7692_eof_v1/eip7620_eof_create/test_subcontainer_validation.py::test_orphan_container@21fb11c8.

Generate fixtures for these test cases for Osaka with:

fill -v tests/osaka/eip7692_eof_v1/eip7620_eof_create/test_subcontainer_validation.py::test_orphan_container --fork Osaka

Test orphaned containers.

Source code in tests/osaka/eip7692_eof_v1/eip7620_eof_create/test_subcontainer_validation.py
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
@pytest.mark.parametrize(
    "code_section,first_sub_container,container_kind",
    [
        (eofcreate_code_section, returncontract_sub_container, ContainerKind.RUNTIME),
        (returncontract_code_section, stop_sub_container, ContainerKind.INITCODE),
    ],
    ids=["eofcreate", "returncontract"],
)
@pytest.mark.parametrize(
    "extra_sub_container",
    [stop_sub_container, revert_sub_container, returncontract_sub_container],
    ids=["stop", "revert", "returncontract"],
)
def test_orphan_container(
    eof_test: EOFTestFiller,
    code_section: Section,
    first_sub_container: Container,
    extra_sub_container: Container,
    container_kind: ContainerKind,
):
    """Test orphaned containers."""
    eof_test(
        container=Container(
            sections=[
                code_section,
                first_sub_container,
                extra_sub_container,
            ],
            kind=container_kind,
        ),
        expect_exception=EOFException.ORPHAN_SUBCONTAINER,
    )

Parametrized Test Cases

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

Test ID (Abbreviated) extra_sub_container code_section first_sub_container container_kind
...fork_Osaka-eof_test-stop-eofcreate data=b'\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x01\x04\x00\x00\x00\x00\x80\x00\x00\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=0 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False data=b'`\x00`\x00`\x00`\x00\xec\x00a \x15`\x01U\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=4 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False data=b'\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x06\x03\x00\x01\x00\x14\x04\x00\x00\x00\x00\x80\x00\x02`\x00`\x00\xee\x00\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x01\x04\x00\x00\x00\x00\x80\x00\x00\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=0 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False RUNTIME
...fork_Osaka-eof_test-stop-returncontract data=b'\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x01\x04\x00\x00\x00\x00\x80\x00\x00\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=0 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False data=b'a \x15`\x01U`\x00`\x00\xee\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=2 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False data=b'\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x01\x04\x00\x00\x00\x00\x80\x00\x00\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=0 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False INITCODE
...fork_Osaka-eof_test-revert-eofcreate data=b'\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x05\x04\x00\x00\x00\x00\x80\x00\x02`\x00`\x00\xfd' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=0 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False data=b'`\x00`\x00`\x00`\x00\xec\x00a \x15`\x01U\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=4 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False data=b'\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x06\x03\x00\x01\x00\x14\x04\x00\x00\x00\x00\x80\x00\x02`\x00`\x00\xee\x00\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x01\x04\x00\x00\x00\x00\x80\x00\x00\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=0 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False RUNTIME
...fork_Osaka-eof_test-revert-returncontract data=b'\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x05\x04\x00\x00\x00\x00\x80\x00\x02`\x00`\x00\xfd' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=0 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False data=b'a \x15`\x01U`\x00`\x00\xee\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=2 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False data=b'\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x01\x04\x00\x00\x00\x00\x80\x00\x00\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=0 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False INITCODE
...fork_Osaka-eof_test-returncontract-eofcreate data=b'\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x06\x03\x00\x01\x00\x14\x04\x00\x00\x00\x00\x80\x00\x02`\x00`\x00\xee\x00\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x01\x04\x00\x00\x00\x00\x80\x00\x00\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=0 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False data=b'`\x00`\x00`\x00`\x00\xec\x00a \x15`\x01U\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=4 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False data=b'\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x06\x03\x00\x01\x00\x14\x04\x00\x00\x00\x00\x80\x00\x02`\x00`\x00\xee\x00\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x01\x04\x00\x00\x00\x00\x80\x00\x00\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=0 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False RUNTIME
...fork_Osaka-eof_test-returncontract-returncontract data=b'\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x06\x03\x00\x01\x00\x14\x04\x00\x00\x00\x00\x80\x00\x02`\x00`\x00\xee\x00\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x01\x04\x00\x00\x00\x00\x80\x00\x00\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=0 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False data=b'a \x15`\x01U`\x00`\x00\xee\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=2 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False data=b'\xef\x00\x01\x01\x00\x04\x02\x00\x01\x00\x01\x04\x00\x00\x00\x00\x80\x00\x00\x00' custom_size=0 kind= force_type_listing=False code_inputs=0 code_outputs=128 max_stack_height=0 auto_max_stack_height=False auto_code_inputs_outputs=False skip_header_listing=False skip_body_listing=False skip_types_body_listing=False skip_types_header_listing=False INITCODE