diff --git a/docs/consuming_tests/exceptions.md b/docs/consuming_tests/exceptions.md index 76dcec5672..de9c4e18e2 100644 --- a/docs/consuming_tests/exceptions.md +++ b/docs/consuming_tests/exceptions.md @@ -15,8 +15,12 @@ the exceptions. ## `TransactionException` -::: ethereum_test_tools.TransactionException +::: ethereum_test_exceptions.TransactionException ## `BlockException` -::: ethereum_test_tools.BlockException +::: ethereum_test_exceptions.BlockException + +## `EOFException` + +::: ethereum_test_exceptions.EOFException diff --git a/docs/library/ethereum_test_base_types.md b/docs/library/ethereum_test_base_types.md new file mode 100644 index 0000000000..e1bca5d489 --- /dev/null +++ b/docs/library/ethereum_test_base_types.md @@ -0,0 +1,3 @@ +# Ethereum Test Base Types package + +::: ethereum_test_base_types diff --git a/docs/library/ethereum_test_exceptions.md b/docs/library/ethereum_test_exceptions.md new file mode 100644 index 0000000000..e0cfd17a32 --- /dev/null +++ b/docs/library/ethereum_test_exceptions.md @@ -0,0 +1,3 @@ +# Ethereum Test Exceptions package + +::: ethereum_test_exceptions diff --git a/docs/library/ethereum_test_fixtures.md b/docs/library/ethereum_test_fixtures.md new file mode 100644 index 0000000000..89ed5ff703 --- /dev/null +++ b/docs/library/ethereum_test_fixtures.md @@ -0,0 +1,3 @@ +# Ethereum Test Fixtures package + +::: ethereum_test_fixtures diff --git a/docs/library/ethereum_test_specs.md b/docs/library/ethereum_test_specs.md new file mode 100644 index 0000000000..525ff84e0a --- /dev/null +++ b/docs/library/ethereum_test_specs.md @@ -0,0 +1,3 @@ +# Ethereum Test Specs package + +::: ethereum_test_specs diff --git a/docs/library/ethereum_test_types.md b/docs/library/ethereum_test_types.md new file mode 100644 index 0000000000..ef83eac6ae --- /dev/null +++ b/docs/library/ethereum_test_types.md @@ -0,0 +1,3 @@ +# Ethereum Test Types package + +::: ethereum_test_types diff --git a/docs/library/ethereum_test_vm.md b/docs/library/ethereum_test_vm.md new file mode 100644 index 0000000000..20712b314b --- /dev/null +++ b/docs/library/ethereum_test_vm.md @@ -0,0 +1,3 @@ +# Ethereum Test VM package + +::: ethereum_test_vm diff --git a/docs/library/index.md b/docs/library/index.md index 5abae31724..1d29d8eded 100644 --- a/docs/library/index.md +++ b/docs/library/index.md @@ -2,7 +2,13 @@ Execution spec tests consists of several packages that implement helper classes and tools that enable and simplify test case implementation. This section contains their reference documentation: -- [`evm_transition_tool`](./evm_transition_tool.md) - a wrapper for the transition (`t8n`) tool. -- [`ethereum_test_tools`](./ethereum_test_tools.md) - provides primitives and helpers to test Ethereum execution clients. +- [`ethereum_test_base_types`](./ethereum_test_base_types.md) - provides the basic types on top of which other testing libraries are built. +- [`ethereum_test_exceptions`](./ethereum_test_exceptions.md) - provides definitions for exceptions used in all tests. +- [`ethereum_test_fixtures`](./ethereum_test_fixtures.md) - provides definitions of all test fixture types that are produced in this repository and can be consumed by clients. - [`ethereum_test_forks`](./ethereum_test_forks.md) - provides definitions for supported forks used in tests. +- [`ethereum_test_specs`](./ethereum_test_specs.md) - provides definitions for all spec types used to define test cases, and generate different kinds of test fixtures. +- [`ethereum_test_tools`](./ethereum_test_tools.md) - provides primitives and helpers to test Ethereum execution clients. +- [`ethereum_test_types`](./ethereum_test_types.md) - provides Ethereum types built on top of the base types which are used to define test cases and interact with other libraries. +- [`ethereum_test_vm`](./ethereum_test_vm.md) - provides definitions for the Ethereum Virtual Machine (EVM) as used to define bytecode in test cases. +- [`evm_transition_tool`](./evm_transition_tool.md) - a wrapper for the transition (`t8n`) tool. - [`pytest_plugins`](./pytest_plugins/index.md) - contains pytest customizations that provide additional functionality for generating test fixtures. diff --git a/docs/navigation.md b/docs/navigation.md index 4bb2a588f9..9e3409cb87 100644 --- a/docs/navigation.md +++ b/docs/navigation.md @@ -34,7 +34,13 @@ * [Enabling Precommit Checks](dev/precommit.md) * [Changelog](CHANGELOG.md) * [Library Reference](library/index.md) - * [EVM Transition Tool Package](library/evm_transition_tool.md) - * [Ethereum Test Tools Package](library/ethereum_test_tools.md) + * [Ethereum Test Base Types Package](library/ethereum_test_base_types.md) + * [Ethereum Test Exceptions Package](library/ethereum_test_exceptions.md) + * [Ethereum Test Fixtures Package](library/ethereum_test_fixtures.md) * [Ethereum Test Forks Package](library/ethereum_test_forks.md) + * [Ethereum Test Specs Package](library/ethereum_test_specs.md) + * [Ethereum Test Tools Package](library/ethereum_test_tools.md) + * [Ethereum Test Types Package](library/ethereum_test_types.md) + * [Ethereum Test VM Package](library/ethereum_test_vm.md) + * [EVM Transition Tool Package](library/evm_transition_tool.md) * [Pytest Plugins](library/pytest_plugins/index.md) diff --git a/docs/writing_tests/exception_tests.md b/docs/writing_tests/exception_tests.md index 07568dcca0..a77d4e6cb3 100644 --- a/docs/writing_tests/exception_tests.md +++ b/docs/writing_tests/exception_tests.md @@ -4,7 +4,7 @@ Exception tests are a special type of test which verify that an invalid transact ## Creating an Exception Test -To test for an exception, the test can use either of the following types from `ethereum_test_tools` library: +To test for an exception, the test can use either of the following types from `ethereum_test_exceptions` library: 1. [`TransactionException`](../consuming_tests/exceptions.md#transactionexception): To be added to the `error` field of the `Transaction` object, and to the `exception` field of the `Block` object that includes the transaction; this exception type is used when a transaction is invalid, and therefore when included in a block, the block is expected to be invalid too. This is different from valid transactions where an exception during EVM execution is expected (e.g. a revert, or out-of-gas), which can be included in valid blocks. diff --git a/docs/writing_tests/writing_a_new_test.md b/docs/writing_tests/writing_a_new_test.md index 04a91c7277..16f5c49d1b 100644 --- a/docs/writing_tests/writing_a_new_test.md +++ b/docs/writing_tests/writing_a_new_test.md @@ -181,7 +181,7 @@ Within the `post` dictionary object, an account address can be: The `Account` object is used to specify the properties of an account to be verified in the post state. -The python representation can be found in [src/ethereum_test_tools/common/types.py](https://github.com/ethereum/execution-spec-tests/blob/main/src/ethereum_test_tools/common/types.py). +The python representation can be found in [src/ethereum_test_types/types.py](https://github.com/ethereum/execution-spec-tests/blob/main/src/ethereum_test_types/types.py). It can verify the following properties of an account: