소스 정보
- 저장소
- 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에서 보기