Skip to main content

fill-tests

Fill test fixtures with the repository fill command.

소스 정보

저장소
ethereum/execution-specs
최근 소스 활동
2026년 9월 15일 15:35
감지된 SKILL.md 언어
영어
스타
1,203
포크
526

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
fill-tests
description
Fill test fixtures with the repository fill command.
# Fill Tests CLI reference for the `fill` command. Run this skill before filling test fixtures. The `fill` command is pytest-based — all standard pytest flags work. ## Basic Usage ```bash uv run fill tests/ # Fill all tests uv run fill tests/cancun/ --fork Cancun # Specific fork uv run fill tests/path/to/test.py -k "test_name" # Specific test uv run fill tests/osaka/ --until Osaka # Up to fork (inclusive) uv run fill --collect-only tests/ # Dry run: list tests without executing ``` ## Key Flags - `--fork FORK` / `--until FORK` — target specific fork or range. The default set stops at the last deployed fork, so a fork under development needs one of these. - `--output DIR` + `--clean` — output directory; `--clean` required when re-filling - `-k "pattern"` — filter tests by name pattern - `-m "marker"` — filter by pytest marker (e.g. `-m state_test`, `-m blockchain_test`) - `-n auto --maxprocesses N` — parallel execution (use `--dist=loadgroup`) - `--evm-bin PATH` — t8n tool; defaults to the in-repo EELS Python spec (`src/ethereum/`) - `--verify-fixtures` — run geth's `evm blocktest` over the generated fixtures. The default EELS t8n has no blocktest, so pass a geth binary with `--verify-fixtures-bin`. For an EELS-side check use `just validate-blocks <fixtures_dir>`, which is what CI runs. - `--generate-all-formats` — generate all fixture formats (2-phase) ## Debugging - `--evm-dump-dir DIR` — dump t8n input/output for debugging - `--traces` — collect execution traces - `--pdb` — drop into debugger on failure - `-vv` — verbose output; `-x` — stop on first failure; `-s` — print stdout ## Watch Mode - `--watch` — re-run on file changes (clears screen between runs) - `--watcherfall` — same but keeps output history ## Benchmark Tests - Excluded from a broad `tests/` run: include them by targeting a `tests/benchmark/...` path, or add `--include-benchmark` when also collecting `tests/`. - Pick a mode (mutually exclusive): `--gas-benchmark-values 1,10,100` (millions of gas) or `--fixed-opcode-count 1,10,100` (thousands). These parametrize the tests, e.g. `...[fork_Prague-blockchain_test-benchmark-gas-value_1M]`. - Backend is optional: omitting `--evm-bin` runs the slow in-repo EELS Python spec; `--evm-bin=evmone` or `--evm-bin=evm` (geth, used by `just bench-gas`) are faster. - Stateful benchmarks (`tests/benchmark/stateful/`) are filled by the separate `fill-stateful` command against a live client snapshot and produce `BlockchainEngineStatefulFixture`; see `docs/filling_tests/fill_stateful.md`. ## Fixture Formats One test function auto-generates multiple formats: `StateFixture`, `BlockchainFixture`, `BlockchainEngineFixture`. `--generate-all-formats` adds the pre-alloc-group format `BlockchainEngineXFixture` through a 2-phase run (`--generate-pre-alloc-groups`, then `--use-pre-alloc-groups`); `--single-fixture-per-file` writes each fixture to its own JSON file. ## References See `docs/filling_tests/` for detailed documentation.
GitHub에서 보기