Skip to content

feat(forge): add fuzz run, replay, and show commands#15227

Open
mablr wants to merge 57 commits into
masterfrom
mablr/oss-297-forge-fuzz
Open

feat(forge): add fuzz run, replay, and show commands#15227
mablr wants to merge 57 commits into
masterfrom
mablr/oss-297-forge-fuzz

Conversation

@mablr

@mablr mablr commented Jun 18, 2026

Copy link
Copy Markdown
Member

Summary

Part of OSS-297

Adds the first scoped MVP for forge fuzz:

  • forge fuzz run: runs only fuzz and invariant tests
  • forge fuzz replay: replays persisted fuzz failures, or corpus entries with --corpus-dir
  • forge fuzz show: prints persisted corpus entries

Follow-ups

This PR intentionally keeps the scope narrow after splitting the original larger implementation. Corpus minimization commands such as cmin and tmin are deferred to follow-up PRs.

These UX/corpus caveats are also left for follow-up work: --list may show non-fuzz tests that execution skips, exact bare-name --match-test filters like ^testClamp$ do not match fuzz signatures, hand-crafted corpus files with the same UUID but different timestamps currently dedup to one entry.

@mablr mablr force-pushed the mablr/oss-297-forge-fuzz branch from dbc70fc to caccaeb Compare June 19, 2026 16:45

@figtracer figtracer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

two issues found while replaying the same corpus across temp projects and checking overwrite behavior.

Comment thread crates/forge/src/runner.rs
Comment thread crates/forge/src/cmd/fuzz.rs Outdated

@figtracer figtracer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

two more

Comment thread crates/evm/evm/src/executors/showmap.rs Outdated
Comment thread crates/evm/evm/src/executors/corpus_io.rs Outdated
@mablr mablr marked this pull request as ready for review June 23, 2026 08:00
Comment thread crates/evm/evm/src/executors/showmap.rs Outdated
Comment thread crates/evm/evm/src/executors/showmap.rs
Comment thread crates/forge/src/runner.rs Outdated
Comment thread crates/evm/evm/src/executors/showmap.rs
@mablr mablr changed the title feat(forge): add fuzz corpus subcommands feat(forge): add fuzz run, replay, and show commands Jun 25, 2026
@mablr mablr requested a review from stevencartavia June 25, 2026 14:52
Comment thread crates/forge/src/runner.rs Outdated
Comment thread crates/forge/src/runner.rs Outdated
Comment thread crates/evm/evm/src/executors/fuzz/mod.rs
Comment thread crates/evm/evm/src/executors/showmap.rs
Comment thread crates/forge/src/runner.rs
Comment thread crates/forge/src/runner.rs Outdated

@figtracer figtracer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants