Common Simulator Options¶
All execution-specs (EELS) Hive simulators share common command-line options and patterns.
Basic Usage¶
The default Dockerfiles run published simulator images. Hive accepts short simulator names: --sim consume-engine selects ethereum/eels/consume-engine. Select the tests with tag; omit it for latest, the latest mainnet release. See Choose a tag for mainnet, devnet, release and nightly options.
For example, this selects the published image for the tests@v20.0.2 release:
./hive --sim consume-engine \
--sim.buildarg tag=v20.0.2 \
--client go-ethereum
Add --docker.pull to refresh an image already cached locally. A release tag is immutable: it always runs the same tests with the same framework. To pick up framework fixes, such as client exception mappings, use latest or a devnet channel such as glamsterdam-devnet-8, and pin a digest when a run must be reproduced exactly.
The old fixtures and branch build arguments are deprecated. Migrate to tag, or select Dockerfile.git through --config to keep building from source; see Build from source. During the deprecation window, the default Dockerfiles still honour the old fixtures and branch build arguments when no tag is given: the image installs the framework from branch and caches fixtures at build time, as Dockerfile.git does, and every run prints a deprecation notice. With a tag, they are ignored.
Test Selection¶
Run a subset of tests by filtering tests using --sim.limit=<regex> to perform a regular expression match against test IDs:
./hive --sim consume-engine --sim.limit ".*eip4844.*"
Collect Only/Dry-Run¶
The collectonly: prefix can be used to inspect which tests would match an expression (dry-run), --docker.output must be specified to see the simulator's collection result:
./hive --sim consume-engine \
--sim.buildarg tag=v20.0.2 \
--docker.output \
--sim.limit="collectonly:.*eip4844.*"
Exact test ID Match¶
The id: prefix can be used to select a single test via its ID (this will automatically escape any special characters in the test case ID):
./hive --sim consume-engine \
--sim.buildarg tag=v20.0.2 \
--docker.output \
--sim.limit "id:tests/cancun/eip4844_blobs/test_blob_txs.py::test_sufficient_balance_blob_tx"
Parallelism¶
To run multiple tests in parallel, use --sim.parallelism:
./hive --sim consume-rlp --sim.parallelism 4
Output Options¶
See hive log output in the console:
./hive --sim consume-engine --sim.loglevel 5
Container Issues¶
Increase client timeout:
./hive --client.checktimelimit=180s --sim consume-engine