Skip to content

fix(tests,docs): remove duplicate docstrings used across test functions #828

Open
@danceratopz

Description

@danceratopz

The doc flow that generates the "Test Case Reference" section now detects if duplicate docstrings are used across test cases, see #801 (comment).

A duplicate is currently logged as info, but the intention is to log as a warning which will fail the doc flow (this fails mkdocs build in tox -e docs).

In order to enable this behavior, we'll have to fix up these duplicate docstrings.

INFO    -  Duplicate docstring for tests/prague/eip2537_bls_12_381_precompiles/test_bls12_g1msm.py::test_invalid:
           tests/prague/eip2537_bls_12_381_precompiles/test_bls12_g1msm.py::test_valid and
           tests/prague/eip2537_bls_12_381_precompiles/test_bls12_g1msm.py::test_invalid
INFO    -  Duplicate docstring for tests/prague/eip2537_bls_12_381_precompiles/test_bls12_g2mul.py::test_gas:
           tests/prague/eip2537_bls_12_381_precompiles/test_bls12_g1mul.py::test_gas and
           tests/prague/eip2537_bls_12_381_precompiles/test_bls12_g2mul.py::test_gas
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_container_validation.py::test_invalid_containers:
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_container_validation.py::test_valid_containers and
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_container_validation.py::test_invalid_containers
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_container_validation.py::test_max_code_sections:
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_container_validation.py::test_single_code_section and
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_container_validation.py::test_max_code_sections
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_eof_example.py::test_eof_example_parameters:
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_eof_example.py::test_eof_example and
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_eof_example.py::test_eof_example_parameters
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_opcodes_in_legacy.py::test_opcodes_in_create_tx:
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_opcodes_in_legacy.py::test_opcodes_in_legacy and
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_opcodes_in_legacy.py::test_opcodes_in_create_tx
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_opcodes_in_legacy.py::test_opcodes_in_create_operation:
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_opcodes_in_legacy.py::test_opcodes_in_legacy and
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_opcodes_in_legacy.py::test_opcodes_in_create_operation
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_opcodes_in_legacy.py::test_opcodes_in_eof_calling_legacy:
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_opcodes_in_legacy.py::test_opcodes_in_legacy and
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_opcodes_in_legacy.py::test_opcodes_in_eof_calling_legacy
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_condition_backwards:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_condition_forwards and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_condition_backwards
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_condition_zero:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_condition_forwards and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_condition_zero
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_into_self:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_into_self_data_portion and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_into_self
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_into_dupn:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjump.py::test_rjump_into_dupn and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_into_dupn
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_into_swapn:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjump.py::test_rjump_into_swapn and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_into_swapn
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_into_exchange:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjump.py::test_rjump_into_exchange and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_into_exchange
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_into_eofcreate:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjump.py::test_rjump_into_eofcreate and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_into_eofcreate
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_into_returncontract:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjump.py::test_rjump_into_returncontract and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_into_returncontract
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_into_push_n:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_into_push_1 and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_into_push_n
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_into_dupn:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjump.py::test_rjump_into_dupn and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_into_dupn
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_into_swapn:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjump.py::test_rjump_into_swapn and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_into_swapn
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_into_exchange:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjump.py::test_rjump_into_exchange and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_into_exchange
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_into_eofcreate:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjump.py::test_rjump_into_eofcreate and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_into_eofcreate
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_into_returncontract:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjump.py::test_rjump_into_returncontract and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_into_returncontract
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_at_the_end:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_at_the_end and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_at_the_end
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_backwards_min_stack_wrong:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_rjumpv_backwards_min_stack_wrong and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_backwards_min_stack_wrong
INFO    -  Duplicate docstring for
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_rjumpi_backwards_min_stack_wrong:
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpi.py::test_rjumpi_rjumpv_backwards_min_stack_wrong and
           tests/prague/eip7692_eof_v1/eip4200_relative_jumps/test_rjumpv.py::test_rjumpv_rjumpi_backwards_min_stack_wrong
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip663_dupn_swapn_exchange/test_swapn.py::test_swapn_on_max_stack:
           tests/prague/eip7692_eof_v1/eip663_dupn_swapn_exchange/test_dupn.py::test_dupn_stack_underflow and
           tests/prague/eip7692_eof_v1/eip663_dupn_swapn_exchange/test_swapn.py::test_swapn_on_max_stack
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip663_dupn_swapn_exchange/test_swapn.py::test_swapn_stack_underflow:
           tests/prague/eip7692_eof_v1/eip663_dupn_swapn_exchange/test_dupn.py::test_dupn_stack_underflow and
           tests/prague/eip7692_eof_v1/eip663_dupn_swapn_exchange/test_swapn.py::test_swapn_stack_underflow
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip7069_extcall/test_calldata.py::test_extdelegatecall_inputdata:
           tests/prague/eip7692_eof_v1/eip7069_extcall/test_calldata.py::test_extcalls_inputdata and
           tests/prague/eip7692_eof_v1/eip7069_extcall/test_calldata.py::test_extdelegatecall_inputdata
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip7069_extcall/test_calldata.py::test_extstaticcall_inputdata:
           tests/prague/eip7692_eof_v1/eip7069_extcall/test_calldata.py::test_extcalls_inputdata and
           tests/prague/eip7692_eof_v1/eip7069_extcall/test_calldata.py::test_extstaticcall_inputdata
INFO    -  Duplicate docstring for
           tests/prague/eip7692_eof_v1/eip7480_data_section/test_code_validation.py::test_legacy_initcode_valid_eof_v1_contract:
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_container_validation.py::test_valid_containers and
           tests/prague/eip7692_eof_v1/eip7480_data_section/test_code_validation.py::test_legacy_initcode_valid_eof_v1_contract
INFO    -  Duplicate docstring for
           tests/prague/eip7692_eof_v1/eip7480_data_section/test_code_validation.py::test_legacy_initcode_invalid_eof_v1_contract:
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_container_validation.py::test_valid_containers and
           tests/prague/eip7692_eof_v1/eip7480_data_section/test_code_validation.py::test_legacy_initcode_invalid_eof_v1_contract
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip7480_data_section/test_data_opcodes.py::test_data_section_succeed:
           tests/prague/eip7692_eof_v1/eip3540_eof_v1/test_execution_function.py::test_eof_functions_contract_call_succeed and
           tests/prague/eip7692_eof_v1/eip7480_data_section/test_data_opcodes.py::test_data_section_succeed
INFO    -  Duplicate docstring for tests/prague/eip7692_eof_v1/eip7620_eof_create/test_eofcreate.py::test_address_collision:
           tests/prague/eip7692_eof_v1/eip7620_eof_create/test_eofcreate.py::test_simple_eofcreate and
           tests/prague/eip7692_eof_v1/eip7620_eof_create/test_eofcreate.py::test_address_collision
INFO    -  Duplicate docstring for
           tests/prague/eip7692_eof_v1/eip7620_eof_create/test_eofcreate_failures.py::test_insufficient_returncontract_auxdata_gas:
           tests/prague/eip7692_eof_v1/eip7620_eof_create/test_eofcreate_failures.py::test_insufficient_initcode_gas and
           tests/prague/eip7692_eof_v1/eip7620_eof_create/test_eofcreate_failures.py::test_insufficient_returncontract_auxdata_gas
INFO    -  Duplicate docstring for tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_tx_into_chain_delegating_set_code:
           tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_tx_into_self_delegating_set_code and
           tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_tx_into_chain_delegating_set_code
INFO    -  Duplicate docstring for tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_call_into_self_delegating_set_code:
           tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_tx_into_self_delegating_set_code and
           tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_call_into_self_delegating_set_code
INFO    -  Duplicate docstring for tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_call_into_chain_delegating_set_code:
           tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_tx_into_self_delegating_set_code and
           tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_call_into_chain_delegating_set_code
INFO    -  Duplicate docstring for tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_invalid_tx_invalid_auth_signature:
           tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_set_code_using_valid_synthetic_signatures and
           tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_invalid_tx_invalid_auth_signature
INFO    -  Duplicate docstring for tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_set_code_to_system_contract:
           tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_set_code_to_precompile and
           tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_set_code_to_system_contract

Metadata

Metadata

Assignees

No one assigned

    Labels

    scope:docsScope: Documentationscope:testsScope: Changes EL client test cases in `./tests`type:bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions