erigon-test-all

Runs the full Erigon Go test suite locally with RAM disk and CI-equivalent settings.

3.6k|1.5k|Updated May 27, 2019
One-click install
npx skills add https://github.com/erigontech/erigon --skill erigon-test-all
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: erigon-test-all
Source: https://github.com/erigontech/erigon/tree/main/.claude/skills/erigon-test-all
Command: npx skills add https://github.com/erigontech/erigon --skill erigon-test-all

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Verifying that changes to the Erigon Ethereum client do not break anything requires running the full test suite, which takes ~30 minutes and needs specific environment setup (RAM disk, GOGC tuning, rebuilt evm binaries) that is easy to get wrong.

Core Features & Use Cases

  • Full test execution: Runs GOGC=80 make test-all with a 60-minute timeout, equivalent to the "All tests" CI workflow (test-all-erigon.yml).
  • Environment setup guidance: Creates a cross-platform RAM disk via tools/create-ramdisk and exports ERIGON_EXECUTION_TESTS_TMPDIR to match CI conditions.
  • Failure drill-down: Shows how to re-run only the failing package or test with go test -run, and how to map failure output to local package paths.
  • Use Case: Before marking a PR ready for review, run the full gate — RAM disk creation, lint, build, and make test-all — to catch regressions locally instead of waiting for CI.

Quick Start

Ask the assistant to run the full Erigon test suite locally before marking my PR ready for review.

Frequently Asked Questions about erigon-test-all

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run the full Erigon test suite locally?

Create a RAM disk with `path=$(bash tools/create-ramdisk)`, then run `ERIGON_EXECUTION_TESTS_TMPDIR=$path GOGC=80 make test-all`. This matches the All tests CI workflow and takes about 30 minutes with a 60-minute timeout.

How do I re-run only a failing Go test in Erigon?

Use `go test --timeout 60m -run TestName ./path/to/package/...` to re-run a specific test, or target the whole failing package with `go test --timeout 60m ./execution/stagedsync/...`. Add `-v` for verbose output and `GOGC=80` to match CI memory pressure.

Why does make test-all need a RAM disk in Erigon?

The execution/tests suite performs heavy temp-file I/O, so backing it with tmpfs avoids disk bottlenecks and matches CI, which sets `ramdisk: true` in test-all-erigon.yml. The tools/create-ramdisk script works on Linux, macOS, and Windows.

Why do EEST spec tests fail with a stale evm binary?

Calling tools/run-eest-spec-test.sh directly bypasses the Makefile's rebuild of the evm or evm.race binary, so it silently tests whatever binary is on disk. Always invoke shards via `make eest-spec-<shard>` or rebuild with `make evm evm.race` after pulling code.

When should I run make test-all instead of make test-short?

Run make test-all before marking a PR ready for review or after significant logic changes. Tests skipped via `-short` run fully here, so failures that pass in test-short usually involve slow paths, large datasets, or DB-heavy operations.