Skip to content

test_mcopy_on_empty_memory()

Documentation for tests/cancun/eip5656_mcopy/test_mcopy.py::test_mcopy_on_empty_memory@83970623.

Generate fixtures for these test cases for Prague with:

fill -v tests/cancun/eip5656_mcopy/test_mcopy.py::test_mcopy_on_empty_memory --fork Prague

Perform MCOPY operations on an empty memory, using different offsets and lengths.

Source code in tests/cancun/eip5656_mcopy/test_mcopy.py
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
@pytest.mark.parametrize("dest", [0x00, 0x20])
@pytest.mark.parametrize("src", [0x00, 0x20])
@pytest.mark.parametrize("length", [0x00, 0x01])
@pytest.mark.parametrize("initial_memory", [bytes()], ids=["empty_memory"])
@pytest.mark.with_all_evm_code_types
@pytest.mark.valid_from("Cancun")
def test_mcopy_on_empty_memory(
    state_test: StateTestFiller,
    pre: Alloc,
    post: Mapping[str, Account],
    tx: Transaction,
):
    """Perform MCOPY operations on an empty memory, using different offsets and lengths."""
    state_test(
        env=Environment(),
        pre=pre,
        post=post,
        tx=tx,
    )

Parametrized Test Cases

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

Test ID (Abbreviated) evm_code_type initial_memory length src dest
...fork_Cancun-evm_code_type_LEGACY-blockchain_test-empty_memory-length_0-src_0-dest_0 LEGACY 0 0 0
...fork_Cancun-evm_code_type_LEGACY-blockchain_test-empty_memory-length_0-src_0-dest_32 LEGACY 0 0 32
...fork_Cancun-evm_code_type_LEGACY-blockchain_test-empty_memory-length_0-src_32-dest_0 LEGACY 0 32 0
...fork_Cancun-evm_code_type_LEGACY-blockchain_test-empty_memory-length_0-src_32-dest_32 LEGACY 0 32 32
...fork_Cancun-evm_code_type_LEGACY-blockchain_test-empty_memory-length_1-src_0-dest_0 LEGACY 1 0 0
...fork_Cancun-evm_code_type_LEGACY-blockchain_test-empty_memory-length_1-src_0-dest_32 LEGACY 1 0 32
...fork_Cancun-evm_code_type_LEGACY-blockchain_test-empty_memory-length_1-src_32-dest_0 LEGACY 1 32 0
...fork_Cancun-evm_code_type_LEGACY-blockchain_test-empty_memory-length_1-src_32-dest_32 LEGACY 1 32 32
...fork_Cancun-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_0-dest_0 LEGACY 0 0 0
...fork_Cancun-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_0-dest_32 LEGACY 0 0 32
...fork_Cancun-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_32-dest_0 LEGACY 0 32 0
...fork_Cancun-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_32-dest_32 LEGACY 0 32 32
...fork_Cancun-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_0-dest_0 LEGACY 1 0 0
...fork_Cancun-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_0-dest_32 LEGACY 1 0 32
...fork_Cancun-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_32-dest_0 LEGACY 1 32 0
...fork_Cancun-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_32-dest_32 LEGACY 1 32 32
...fork_Prague-evm_code_type_LEGACY-blockchain_test-empty_memory-length_0-src_0-dest_0 LEGACY 0 0 0
...fork_Prague-evm_code_type_LEGACY-blockchain_test-empty_memory-length_0-src_0-dest_32 LEGACY 0 0 32
...fork_Prague-evm_code_type_LEGACY-blockchain_test-empty_memory-length_0-src_32-dest_0 LEGACY 0 32 0
...fork_Prague-evm_code_type_LEGACY-blockchain_test-empty_memory-length_0-src_32-dest_32 LEGACY 0 32 32
...fork_Prague-evm_code_type_LEGACY-blockchain_test-empty_memory-length_1-src_0-dest_0 LEGACY 1 0 0
...fork_Prague-evm_code_type_LEGACY-blockchain_test-empty_memory-length_1-src_0-dest_32 LEGACY 1 0 32
...fork_Prague-evm_code_type_LEGACY-blockchain_test-empty_memory-length_1-src_32-dest_0 LEGACY 1 32 0
...fork_Prague-evm_code_type_LEGACY-blockchain_test-empty_memory-length_1-src_32-dest_32 LEGACY 1 32 32
...fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_0-dest_0 LEGACY 0 0 0
...fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_0-dest_32 LEGACY 0 0 32
...fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_32-dest_0 LEGACY 0 32 0
...fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_32-dest_32 LEGACY 0 32 32
...fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_0-dest_0 LEGACY 1 0 0
...fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_0-dest_32 LEGACY 1 0 32
...fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_32-dest_0 LEGACY 1 32 0
...fork_Prague-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_32-dest_32 LEGACY 1 32 32
...fork_Osaka-evm_code_type_LEGACY-blockchain_test-empty_memory-length_0-src_0-dest_0 LEGACY 0 0 0
...fork_Osaka-evm_code_type_LEGACY-blockchain_test-empty_memory-length_0-src_0-dest_32 LEGACY 0 0 32
...fork_Osaka-evm_code_type_LEGACY-blockchain_test-empty_memory-length_0-src_32-dest_0 LEGACY 0 32 0
...fork_Osaka-evm_code_type_LEGACY-blockchain_test-empty_memory-length_0-src_32-dest_32 LEGACY 0 32 32
...fork_Osaka-evm_code_type_LEGACY-blockchain_test-empty_memory-length_1-src_0-dest_0 LEGACY 1 0 0
...fork_Osaka-evm_code_type_LEGACY-blockchain_test-empty_memory-length_1-src_0-dest_32 LEGACY 1 0 32
...fork_Osaka-evm_code_type_LEGACY-blockchain_test-empty_memory-length_1-src_32-dest_0 LEGACY 1 32 0
...fork_Osaka-evm_code_type_LEGACY-blockchain_test-empty_memory-length_1-src_32-dest_32 LEGACY 1 32 32
...fork_Osaka-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_0-dest_0 LEGACY 0 0 0
...fork_Osaka-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_0-dest_32 LEGACY 0 0 32
...fork_Osaka-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_32-dest_0 LEGACY 0 32 0
...fork_Osaka-evm_code_type_LEGACY-state_test-empty_memory-length_0-src_32-dest_32 LEGACY 0 32 32
...fork_Osaka-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_0-dest_0 LEGACY 1 0 0
...fork_Osaka-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_0-dest_32 LEGACY 1 0 32
...fork_Osaka-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_32-dest_0 LEGACY 1 32 0
...fork_Osaka-evm_code_type_LEGACY-state_test-empty_memory-length_1-src_32-dest_32 LEGACY 1 32 32
...fork_Osaka-evm_code_type_EOF_V1-blockchain_test-empty_memory-length_0-src_0-dest_0 EOF_V1 0 0 0
...fork_Osaka-evm_code_type_EOF_V1-blockchain_test-empty_memory-length_0-src_0-dest_32 EOF_V1 0 0 32
...fork_Osaka-evm_code_type_EOF_V1-blockchain_test-empty_memory-length_0-src_32-dest_0 EOF_V1 0 32 0
...fork_Osaka-evm_code_type_EOF_V1-blockchain_test-empty_memory-length_0-src_32-dest_32 EOF_V1 0 32 32
...fork_Osaka-evm_code_type_EOF_V1-blockchain_test-empty_memory-length_1-src_0-dest_0 EOF_V1 1 0 0
...fork_Osaka-evm_code_type_EOF_V1-blockchain_test-empty_memory-length_1-src_0-dest_32 EOF_V1 1 0 32
...fork_Osaka-evm_code_type_EOF_V1-blockchain_test-empty_memory-length_1-src_32-dest_0 EOF_V1 1 32 0
...fork_Osaka-evm_code_type_EOF_V1-blockchain_test-empty_memory-length_1-src_32-dest_32 EOF_V1 1 32 32
...fork_Osaka-evm_code_type_EOF_V1-state_test-empty_memory-length_0-src_0-dest_0 EOF_V1 0 0 0
...fork_Osaka-evm_code_type_EOF_V1-state_test-empty_memory-length_0-src_0-dest_32 EOF_V1 0 0 32
...fork_Osaka-evm_code_type_EOF_V1-state_test-empty_memory-length_0-src_32-dest_0 EOF_V1 0 32 0
...fork_Osaka-evm_code_type_EOF_V1-state_test-empty_memory-length_0-src_32-dest_32 EOF_V1 0 32 32
...fork_Osaka-evm_code_type_EOF_V1-state_test-empty_memory-length_1-src_0-dest_0 EOF_V1 1 0 0
...fork_Osaka-evm_code_type_EOF_V1-state_test-empty_memory-length_1-src_0-dest_32 EOF_V1 1 0 32
...fork_Osaka-evm_code_type_EOF_V1-state_test-empty_memory-length_1-src_32-dest_0 EOF_V1 1 32 0
...fork_Osaka-evm_code_type_EOF_V1-state_test-empty_memory-length_1-src_32-dest_32 EOF_V1 1 32 32