Skip to content

Commit d5f545f

Browse files
authored
refactor(cli,exceptions): small update and clean up (#1803)
* refactor(exceptions): small restructuring. * chore(cli): remove eof exceptions from all apart from evmone. * chore(docs): changelog.
1 parent 6aba9a2 commit d5f545f

File tree

12 files changed

+915
-207
lines changed

12 files changed

+915
-207
lines changed

docs/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ Users can select any of the artifacts depending on their testing needs for their
6464
- ✨ Added `extract_config` command to extract genesis files used to launch clients in hive ([#1740](https://github.com/ethereum/execution-spec-tests/pull/1740)).
6565
- ✨ Added automatic checklist generation for every EIP inside of the `tests` folder. The checklist is appended to each EIP in the documentation in the "Test Case Reference" section ([#1679](https://github.com/ethereum/execution-spec-tests/pull/1679), [#1718](https://github.com/ethereum/execution-spec-tests/pull/1718)).
6666
- 🔀 Add macOS hive development mode workaround to the docs [#1786](https://github.com/ethereum/execution-spec-tests/pull/1786).
67+
- 🔀 Refactor and clean up of exceptions including EOF exceptions within client specific mappers [#1803](https://github.com/ethereum/execution-spec-tests/pull/1803).
6768

6869
### 🧪 Test Cases
6970

src/ethereum_clis/clis/besu.py

Lines changed: 1 addition & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,11 @@
99
from pathlib import Path
1010
from typing import ClassVar, Dict, List, Optional
1111

12-
import requests
12+
import requests # type: ignore
1313

1414
from ethereum_test_base_types import BlobSchedule
1515
from ethereum_test_exceptions import (
1616
BlockException,
17-
EOFException,
1817
ExceptionBase,
1918
ExceptionMapper,
2019
TransactionException,
@@ -262,46 +261,6 @@ class BesuExceptionMapper(ExceptionMapper):
262261
"Payload BlobGasUsed does not match calculated BlobGasUsed"
263262
),
264263
BlockException.INVALID_GAS_USED_ABOVE_LIMIT: "Header validation failed (FULL)",
265-
# TODO EVMONE needs to differentiate when the section is missing in the header or body
266-
EOFException.MISSING_STOP_OPCODE: "err: no_terminating_instruction",
267-
EOFException.MISSING_CODE_HEADER: "err: code_section_missing",
268-
EOFException.MISSING_TYPE_HEADER: "err: type_section_missing",
269-
# TODO EVMONE these exceptions are too similar, this leeds to ambiguity
270-
EOFException.MISSING_TERMINATOR: "err: header_terminator_missing",
271-
EOFException.MISSING_HEADERS_TERMINATOR: "err: section_headers_not_terminated",
272-
EOFException.INVALID_VERSION: "err: eof_version_unknown",
273-
EOFException.INVALID_NON_RETURNING_FLAG: "err: invalid_non_returning_flag",
274-
EOFException.INVALID_MAGIC: "err: invalid_prefix",
275-
EOFException.INVALID_FIRST_SECTION_TYPE: "err: invalid_first_section_type",
276-
EOFException.INVALID_SECTION_BODIES_SIZE: "err: invalid_section_bodies_size",
277-
EOFException.INVALID_TYPE_SECTION_SIZE: "err: invalid_type_section_size",
278-
EOFException.INCOMPLETE_SECTION_SIZE: "err: incomplete_section_size",
279-
EOFException.INCOMPLETE_SECTION_NUMBER: "err: incomplete_section_number",
280-
EOFException.TOO_MANY_CODE_SECTIONS: "err: too_many_code_sections",
281-
EOFException.ZERO_SECTION_SIZE: "err: zero_section_size",
282-
EOFException.MISSING_DATA_SECTION: "err: data_section_missing",
283-
EOFException.UNDEFINED_INSTRUCTION: "err: undefined_instruction",
284-
EOFException.INPUTS_OUTPUTS_NUM_ABOVE_LIMIT: "err: inputs_outputs_num_above_limit",
285-
EOFException.UNREACHABLE_INSTRUCTIONS: "err: unreachable_instructions",
286-
EOFException.INVALID_RJUMP_DESTINATION: "err: invalid_rjump_destination",
287-
EOFException.UNREACHABLE_CODE_SECTIONS: "err: unreachable_code_sections",
288-
EOFException.STACK_UNDERFLOW: "err: stack_underflow",
289-
EOFException.MAX_STACK_INCREASE_ABOVE_LIMIT: "err: max_stack_increase_above_limit",
290-
EOFException.STACK_HIGHER_THAN_OUTPUTS: "err: stack_higher_than_outputs_required",
291-
EOFException.JUMPF_DESTINATION_INCOMPATIBLE_OUTPUTS: (
292-
"err: jumpf_destination_incompatible_outputs"
293-
),
294-
EOFException.INVALID_MAX_STACK_INCREASE: "err: invalid_max_stack_increase",
295-
EOFException.INVALID_DATALOADN_INDEX: "err: invalid_dataloadn_index",
296-
EOFException.TRUNCATED_INSTRUCTION: "err: truncated_instruction",
297-
EOFException.TOPLEVEL_CONTAINER_TRUNCATED: "err: toplevel_container_truncated",
298-
EOFException.ORPHAN_SUBCONTAINER: "err: unreferenced_subcontainer",
299-
EOFException.CONTAINER_SIZE_ABOVE_LIMIT: "err: container_size_above_limit",
300-
EOFException.INVALID_CONTAINER_SECTION_INDEX: "err: invalid_container_section_index",
301-
EOFException.INCOMPATIBLE_CONTAINER_KIND: "err: incompatible_container_kind",
302-
EOFException.STACK_HEIGHT_MISMATCH: "err: stack_height_mismatch",
303-
EOFException.TOO_MANY_CONTAINERS: "err: too_many_container_sections",
304-
EOFException.INVALID_CODE_SECTION_INDEX: "err: invalid_code_section_index",
305264
}
306265
mapping_regex = {
307266
BlockException.INVALID_REQUESTS: (

src/ethereum_clis/clis/ethereumjs.py

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
from ethereum_test_exceptions import (
88
BlockException,
9-
EOFException,
109
ExceptionBase,
1110
ExceptionMapper,
1211
TransactionException,
@@ -96,46 +95,6 @@ class EthereumJSExceptionMapper(ExceptionMapper):
9695
BlockException.INVALID_DEPOSIT_EVENT_LAYOUT: (
9796
"Error verifying block while running: error: number exceeds 53 bits"
9897
),
99-
# TODO EVMONE needs to differentiate when the section is missing in the header or body
100-
EOFException.MISSING_STOP_OPCODE: "err: no_terminating_instruction",
101-
EOFException.MISSING_CODE_HEADER: "err: code_section_missing",
102-
EOFException.MISSING_TYPE_HEADER: "err: type_section_missing",
103-
# TODO EVMONE these exceptions are too similar, this leeds to ambiguity
104-
EOFException.MISSING_TERMINATOR: "err: header_terminator_missing",
105-
EOFException.MISSING_HEADERS_TERMINATOR: "err: section_headers_not_terminated",
106-
EOFException.INVALID_VERSION: "err: eof_version_unknown",
107-
EOFException.INVALID_NON_RETURNING_FLAG: "err: invalid_non_returning_flag",
108-
EOFException.INVALID_MAGIC: "err: invalid_prefix",
109-
EOFException.INVALID_FIRST_SECTION_TYPE: "err: invalid_first_section_type",
110-
EOFException.INVALID_SECTION_BODIES_SIZE: "err: invalid_section_bodies_size",
111-
EOFException.INVALID_TYPE_SECTION_SIZE: "err: invalid_type_section_size",
112-
EOFException.INCOMPLETE_SECTION_SIZE: "err: incomplete_section_size",
113-
EOFException.INCOMPLETE_SECTION_NUMBER: "err: incomplete_section_number",
114-
EOFException.TOO_MANY_CODE_SECTIONS: "err: too_many_code_sections",
115-
EOFException.ZERO_SECTION_SIZE: "err: zero_section_size",
116-
EOFException.MISSING_DATA_SECTION: "err: data_section_missing",
117-
EOFException.UNDEFINED_INSTRUCTION: "err: undefined_instruction",
118-
EOFException.INPUTS_OUTPUTS_NUM_ABOVE_LIMIT: "err: inputs_outputs_num_above_limit",
119-
EOFException.UNREACHABLE_INSTRUCTIONS: "err: unreachable_instructions",
120-
EOFException.INVALID_RJUMP_DESTINATION: "err: invalid_rjump_destination",
121-
EOFException.UNREACHABLE_CODE_SECTIONS: "err: unreachable_code_sections",
122-
EOFException.STACK_UNDERFLOW: "err: stack_underflow",
123-
EOFException.MAX_STACK_INCREASE_ABOVE_LIMIT: "err: max_stack_increase_above_limit",
124-
EOFException.STACK_HIGHER_THAN_OUTPUTS: "err: stack_higher_than_outputs_required",
125-
EOFException.JUMPF_DESTINATION_INCOMPATIBLE_OUTPUTS: (
126-
"err: jumpf_destination_incompatible_outputs"
127-
),
128-
EOFException.INVALID_MAX_STACK_INCREASE: "err: invalid_max_stack_increase",
129-
EOFException.INVALID_DATALOADN_INDEX: "err: invalid_dataloadn_index",
130-
EOFException.TRUNCATED_INSTRUCTION: "err: truncated_instruction",
131-
EOFException.TOPLEVEL_CONTAINER_TRUNCATED: "err: toplevel_container_truncated",
132-
EOFException.ORPHAN_SUBCONTAINER: "err: unreferenced_subcontainer",
133-
EOFException.CONTAINER_SIZE_ABOVE_LIMIT: "err: container_size_above_limit",
134-
EOFException.INVALID_CONTAINER_SECTION_INDEX: "err: invalid_container_section_index",
135-
EOFException.INCOMPATIBLE_CONTAINER_KIND: "err: incompatible_container_kind",
136-
EOFException.STACK_HEIGHT_MISMATCH: "err: stack_height_mismatch",
137-
EOFException.TOO_MANY_CONTAINERS: "err: too_many_container_sections",
138-
EOFException.INVALID_CODE_SECTION_INDEX: "err: invalid_code_section_index",
13998
}
14099
mapping_regex: ClassVar[Dict[ExceptionBase, str]] = {
141100
TransactionException.TYPE_3_TX_MAX_BLOB_GAS_ALLOWANCE_EXCEEDED: (

src/ethereum_clis/clis/execution_specs.py

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
from ethereum_test_exceptions import (
1616
BlockException,
17-
EOFException,
1817
ExceptionBase,
1918
ExceptionMapper,
2019
TransactionException,
@@ -164,45 +163,5 @@ class ExecutionSpecsExceptionMapper(ExceptionMapper):
164163
BlockException.SYSTEM_CONTRACT_EMPTY: "System contract address",
165164
BlockException.SYSTEM_CONTRACT_CALL_FAILED: "call failed:",
166165
BlockException.INVALID_DEPOSIT_EVENT_LAYOUT: "deposit",
167-
# TODO EVMONE needs to differentiate when the section is missing in the header or body
168-
EOFException.MISSING_STOP_OPCODE: "err: no_terminating_instruction",
169-
EOFException.MISSING_CODE_HEADER: "err: code_section_missing",
170-
EOFException.MISSING_TYPE_HEADER: "err: type_section_missing",
171-
# TODO EVMONE these exceptions are too similar, this leeds to ambiguity
172-
EOFException.MISSING_TERMINATOR: "err: header_terminator_missing",
173-
EOFException.MISSING_HEADERS_TERMINATOR: "err: section_headers_not_terminated",
174-
EOFException.INVALID_VERSION: "err: eof_version_unknown",
175-
EOFException.INVALID_NON_RETURNING_FLAG: "err: invalid_non_returning_flag",
176-
EOFException.INVALID_MAGIC: "err: invalid_prefix",
177-
EOFException.INVALID_FIRST_SECTION_TYPE: "err: invalid_first_section_type",
178-
EOFException.INVALID_SECTION_BODIES_SIZE: "err: invalid_section_bodies_size",
179-
EOFException.INVALID_TYPE_SECTION_SIZE: "err: invalid_type_section_size",
180-
EOFException.INCOMPLETE_SECTION_SIZE: "err: incomplete_section_size",
181-
EOFException.INCOMPLETE_SECTION_NUMBER: "err: incomplete_section_number",
182-
EOFException.TOO_MANY_CODE_SECTIONS: "err: too_many_code_sections",
183-
EOFException.ZERO_SECTION_SIZE: "err: zero_section_size",
184-
EOFException.MISSING_DATA_SECTION: "err: data_section_missing",
185-
EOFException.UNDEFINED_INSTRUCTION: "err: undefined_instruction",
186-
EOFException.INPUTS_OUTPUTS_NUM_ABOVE_LIMIT: "err: inputs_outputs_num_above_limit",
187-
EOFException.UNREACHABLE_INSTRUCTIONS: "err: unreachable_instructions",
188-
EOFException.INVALID_RJUMP_DESTINATION: "err: invalid_rjump_destination",
189-
EOFException.UNREACHABLE_CODE_SECTIONS: "err: unreachable_code_sections",
190-
EOFException.STACK_UNDERFLOW: "err: stack_underflow",
191-
EOFException.MAX_STACK_INCREASE_ABOVE_LIMIT: "err: max_stack_increase_above_limit",
192-
EOFException.STACK_HIGHER_THAN_OUTPUTS: "err: stack_higher_than_outputs_required",
193-
EOFException.JUMPF_DESTINATION_INCOMPATIBLE_OUTPUTS: (
194-
"err: jumpf_destination_incompatible_outputs"
195-
),
196-
EOFException.INVALID_MAX_STACK_INCREASE: "err: invalid_max_stack_increase",
197-
EOFException.INVALID_DATALOADN_INDEX: "err: invalid_dataloadn_index",
198-
EOFException.TRUNCATED_INSTRUCTION: "err: truncated_instruction",
199-
EOFException.TOPLEVEL_CONTAINER_TRUNCATED: "err: toplevel_container_truncated",
200-
EOFException.ORPHAN_SUBCONTAINER: "err: unreferenced_subcontainer",
201-
EOFException.CONTAINER_SIZE_ABOVE_LIMIT: "err: container_size_above_limit",
202-
EOFException.INVALID_CONTAINER_SECTION_INDEX: "err: invalid_container_section_index",
203-
EOFException.INCOMPATIBLE_CONTAINER_KIND: "err: incompatible_container_kind",
204-
EOFException.STACK_HEIGHT_MISMATCH: "err: stack_height_mismatch",
205-
EOFException.TOO_MANY_CONTAINERS: "err: too_many_container_sections",
206-
EOFException.INVALID_CODE_SECTION_INDEX: "err: invalid_code_section_index",
207166
}
208167
mapping_regex: ClassVar[Dict[ExceptionBase, str]] = {}

src/ethereum_clis/clis/geth.py

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
from ethereum_test_exceptions import (
1313
BlockException,
14-
EOFException,
1514
ExceptionBase,
1615
ExceptionMapper,
1716
TransactionException,
@@ -79,46 +78,6 @@ class GethExceptionMapper(ExceptionMapper):
7978
BlockException.SYSTEM_CONTRACT_CALL_FAILED: "system call failed to execute:",
8079
BlockException.INVALID_BLOCK_HASH: "blockhash mismatch",
8180
BlockException.RLP_BLOCK_LIMIT_EXCEEDED: "block RLP-encoded size exceeds maximum",
82-
# TODO EVMONE needs to differentiate when the section is missing in the header or body
83-
EOFException.MISSING_STOP_OPCODE: "err: no_terminating_instruction",
84-
EOFException.MISSING_CODE_HEADER: "err: code_section_missing",
85-
EOFException.MISSING_TYPE_HEADER: "err: type_section_missing",
86-
# TODO EVMONE these exceptions are too similar, this leeds to ambiguity
87-
EOFException.MISSING_TERMINATOR: "err: header_terminator_missing",
88-
EOFException.MISSING_HEADERS_TERMINATOR: "err: section_headers_not_terminated",
89-
EOFException.INVALID_VERSION: "err: eof_version_unknown",
90-
EOFException.INVALID_NON_RETURNING_FLAG: "err: invalid_non_returning_flag",
91-
EOFException.INVALID_MAGIC: "err: invalid_prefix",
92-
EOFException.INVALID_FIRST_SECTION_TYPE: "err: invalid_first_section_type",
93-
EOFException.INVALID_SECTION_BODIES_SIZE: "err: invalid_section_bodies_size",
94-
EOFException.INVALID_TYPE_SECTION_SIZE: "err: invalid_type_section_size",
95-
EOFException.INCOMPLETE_SECTION_SIZE: "err: incomplete_section_size",
96-
EOFException.INCOMPLETE_SECTION_NUMBER: "err: incomplete_section_number",
97-
EOFException.TOO_MANY_CODE_SECTIONS: "err: too_many_code_sections",
98-
EOFException.ZERO_SECTION_SIZE: "err: zero_section_size",
99-
EOFException.MISSING_DATA_SECTION: "err: data_section_missing",
100-
EOFException.UNDEFINED_INSTRUCTION: "err: undefined_instruction",
101-
EOFException.INPUTS_OUTPUTS_NUM_ABOVE_LIMIT: "err: inputs_outputs_num_above_limit",
102-
EOFException.UNREACHABLE_INSTRUCTIONS: "err: unreachable_instructions",
103-
EOFException.INVALID_RJUMP_DESTINATION: "err: invalid_rjump_destination",
104-
EOFException.UNREACHABLE_CODE_SECTIONS: "err: unreachable_code_sections",
105-
EOFException.STACK_UNDERFLOW: "err: stack_underflow",
106-
EOFException.MAX_STACK_INCREASE_ABOVE_LIMIT: "err: max_stack_increase_above_limit",
107-
EOFException.STACK_HIGHER_THAN_OUTPUTS: "err: stack_higher_than_outputs_required",
108-
EOFException.JUMPF_DESTINATION_INCOMPATIBLE_OUTPUTS: (
109-
"err: jumpf_destination_incompatible_outputs"
110-
),
111-
EOFException.INVALID_MAX_STACK_INCREASE: "err: invalid_max_stack_increase",
112-
EOFException.INVALID_DATALOADN_INDEX: "err: invalid_dataloadn_index",
113-
EOFException.TRUNCATED_INSTRUCTION: "err: truncated_instruction",
114-
EOFException.TOPLEVEL_CONTAINER_TRUNCATED: "err: toplevel_container_truncated",
115-
EOFException.ORPHAN_SUBCONTAINER: "err: unreferenced_subcontainer",
116-
EOFException.CONTAINER_SIZE_ABOVE_LIMIT: "err: container_size_above_limit",
117-
EOFException.INVALID_CONTAINER_SECTION_INDEX: "err: invalid_container_section_index",
118-
EOFException.INCOMPATIBLE_CONTAINER_KIND: "err: incompatible_container_kind",
119-
EOFException.STACK_HEIGHT_MISMATCH: "err: stack_height_mismatch",
120-
EOFException.TOO_MANY_CONTAINERS: "err: too_many_container_sections",
121-
EOFException.INVALID_CODE_SECTION_INDEX: "err: invalid_code_section_index",
12281
}
12382
mapping_regex: ClassVar[Dict[ExceptionBase, str]] = {
12483
TransactionException.TYPE_3_TX_MAX_BLOB_GAS_ALLOWANCE_EXCEEDED: (

src/ethereum_clis/clis/nimbus.py

Lines changed: 4 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
from ethereum_test_exceptions import (
99
BlockException,
10-
EOFException,
1110
ExceptionBase,
1211
ExceptionMapper,
1312
TransactionException,
@@ -93,47 +92,10 @@ class NimbusExceptionMapper(ExceptionMapper):
9392
TransactionException.TYPE_3_TX_ZERO_BLOBS: "blob transaction missing blob hashes",
9493
TransactionException.INTRINSIC_GAS_TOO_LOW: "zero gasUsed but transactions present",
9594
TransactionException.INTRINSIC_GAS_BELOW_FLOOR_GAS_COST: "intrinsic gas too low",
96-
TransactionException.INITCODE_SIZE_EXCEEDED: "zero gasUsed but transactions present",
97-
BlockException.RLP_BLOCK_LIMIT_EXCEEDED: "zero gasUsed but transactions present",
98-
# TODO EVMONE needs to differentiate when the section is missing in the header or body
99-
EOFException.MISSING_STOP_OPCODE: "err: no_terminating_instruction",
100-
EOFException.MISSING_CODE_HEADER: "err: code_section_missing",
101-
EOFException.MISSING_TYPE_HEADER: "err: type_section_missing",
102-
# TODO EVMONE these exceptions are too similar, this leeds to ambiguity
103-
EOFException.MISSING_TERMINATOR: "err: header_terminator_missing",
104-
EOFException.MISSING_HEADERS_TERMINATOR: "err: section_headers_not_terminated",
105-
EOFException.INVALID_VERSION: "err: eof_version_unknown",
106-
EOFException.INVALID_NON_RETURNING_FLAG: "err: invalid_non_returning_flag",
107-
EOFException.INVALID_MAGIC: "err: invalid_prefix",
108-
EOFException.INVALID_FIRST_SECTION_TYPE: "err: invalid_first_section_type",
109-
EOFException.INVALID_SECTION_BODIES_SIZE: "err: invalid_section_bodies_size",
110-
EOFException.INVALID_TYPE_SECTION_SIZE: "err: invalid_type_section_size",
111-
EOFException.INCOMPLETE_SECTION_SIZE: "err: incomplete_section_size",
112-
EOFException.INCOMPLETE_SECTION_NUMBER: "err: incomplete_section_number",
113-
EOFException.TOO_MANY_CODE_SECTIONS: "err: too_many_code_sections",
114-
EOFException.ZERO_SECTION_SIZE: "err: zero_section_size",
115-
EOFException.MISSING_DATA_SECTION: "err: data_section_missing",
116-
EOFException.UNDEFINED_INSTRUCTION: "err: undefined_instruction",
117-
EOFException.INPUTS_OUTPUTS_NUM_ABOVE_LIMIT: "err: inputs_outputs_num_above_limit",
118-
EOFException.UNREACHABLE_INSTRUCTIONS: "err: unreachable_instructions",
119-
EOFException.INVALID_RJUMP_DESTINATION: "err: invalid_rjump_destination",
120-
EOFException.UNREACHABLE_CODE_SECTIONS: "err: unreachable_code_sections",
121-
EOFException.STACK_UNDERFLOW: "err: stack_underflow",
122-
EOFException.MAX_STACK_INCREASE_ABOVE_LIMIT: "err: max_stack_increase_above_limit",
123-
EOFException.STACK_HIGHER_THAN_OUTPUTS: "err: stack_higher_than_outputs_required",
124-
EOFException.JUMPF_DESTINATION_INCOMPATIBLE_OUTPUTS: (
125-
"err: jumpf_destination_incompatible_outputs"
95+
TransactionException.INITCODE_SIZE_EXCEEDED: "max initcode size exceeded",
96+
BlockException.RLP_BLOCK_LIMIT_EXCEEDED: (
97+
# TODO:
98+
"ExceededBlockSizeLimit: Exceeded block size limit"
12699
),
127-
EOFException.INVALID_MAX_STACK_INCREASE: "err: invalid_max_stack_increase",
128-
EOFException.INVALID_DATALOADN_INDEX: "err: invalid_dataloadn_index",
129-
EOFException.TRUNCATED_INSTRUCTION: "err: truncated_instruction",
130-
EOFException.TOPLEVEL_CONTAINER_TRUNCATED: "err: toplevel_container_truncated",
131-
EOFException.ORPHAN_SUBCONTAINER: "err: unreferenced_subcontainer",
132-
EOFException.CONTAINER_SIZE_ABOVE_LIMIT: "err: container_size_above_limit",
133-
EOFException.INVALID_CONTAINER_SECTION_INDEX: "err: invalid_container_section_index",
134-
EOFException.INCOMPATIBLE_CONTAINER_KIND: "err: incompatible_container_kind",
135-
EOFException.STACK_HEIGHT_MISMATCH: "err: stack_height_mismatch",
136-
EOFException.TOO_MANY_CONTAINERS: "err: too_many_container_sections",
137-
EOFException.INVALID_CODE_SECTION_INDEX: "err: invalid_code_section_index",
138100
}
139101
mapping_regex: ClassVar[Dict[ExceptionBase, str]] = {}

0 commit comments

Comments
 (0)