Skip to content

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