Expand description
Test outcomes.
Re-exportsยง
use crate::fuzz::BaseCounterExample;๐use crate::fuzz::BasicTxDetails;๐use crate::gas_report::GasReport;๐use alloy_primitives::Address;๐use alloy_primitives::B256;๐use alloy_primitives::Bytes;๐use alloy_primitives::I256;๐use alloy_primitives::Log;๐use alloy_primitives::Selector;๐use alloy_primitives::U256;๐use alloy_primitives::map::HashMap;๐use eyre::Report;๐use foundry_common::ContractsByArtifact;๐use foundry_common::get_contract_name;๐use foundry_common::shell;๐use foundry_config::SymbolicConfig;๐use foundry_config::SymbolicExplorationOrder;๐use foundry_config::SymbolicStorageLayout;๐use foundry_evm::core::Breakpoints;๐use foundry_evm::core::evm::FoundryEvmNetwork;๐use foundry_evm::coverage::HitMaps;๐use foundry_evm::decode::SkipReason;๐use foundry_evm::executors::RawCallResult;๐use foundry_evm::executors::invariant::CheckSequenceFailureSite;๐use foundry_evm::executors::invariant::CheckSequenceOutcome;๐use foundry_evm::executors::invariant::InvariantMetrics;๐use foundry_evm::fuzz::CallDetails;๐use foundry_evm::fuzz::CounterExample;๐use foundry_evm::fuzz::FuzzCase;๐use foundry_evm::fuzz::FuzzFixtures;๐use foundry_evm::fuzz::FuzzTestResult;๐use foundry_evm::fuzz::strategies::EvmFuzzState;๐use foundry_evm::traces::CallTraceArena;๐use foundry_evm::traces::CallTraceDecoder;๐use foundry_evm::traces::TraceKind;๐use foundry_evm::traces::Traces;๐use foundry_evm_symbolic::SymbolicStats;๐use foundry_evm_symbolic::SymbolicStopReason;๐use foundry_evm_symbolic::SymbolicStorageAssignment;๐use serde::Deserialize;๐use serde::Deserialize;๐use serde::Serialize;๐use serde::Serialize;๐use std::collections::BTreeMap;๐use std::collections::HashMap as Map;๐use std::fmt;๐use std::fmt::Write;๐use std::path::PathBuf;๐use std::sync::OnceLock;๐use std::time::Duration;๐use yansi::Paint;๐
Macrosยง
- extend ๐
Structsยง
- Invariant
Outcome - Forge-side outcome of an invariant campaign, recorded into a
TestResult. - Invariant
Predicate Result - Pass/fail status for an invariant predicate evaluated inside a contract-level campaign.
- Suite
Result - A set of test results for a single test suite, which is all the tests in a single contract.
- Suite
Test Result - The result of a single test in a test suite.
- Symbolic
Artifact Ref - Reference to a durable symbolic counterexample artifact.
- Symbolic
Assumption - Explicit symbolic assumption attached to a result.
- Symbolic
Bounds - Effective symbolic exploration bounds used by the run.
- Symbolic
Call Trace - Concrete replay trace locator.
- Symbolic
Corpus Seed Metadata - Fuzz corpus import metadata for a symbolic run.
- Symbolic
Corpus Seed Ref - One fuzz corpus seed modeled by symbolic execution.
- Symbolic
Counterexample - Stable symbolic counterexample payload.
- Symbolic
Counterexample Artifact - Durable symbolic counterexample artifact.
- Symbolic
Counterexample Call - One concrete call in a symbolic counterexample artifact.
- Symbolic
Counterexample Minimization - Before/after artifact references and counters for concrete symbolic counterexample minimization.
- Symbolic
Counterexample Replay Semantics - Concrete replay semantics captured when a symbolic artifact is confirmed.
- Symbolic
Counterexample Test Identity - Test identity for a symbolic counterexample artifact.
- Symbolic
Incomplete - Incomplete symbolic run reason.
- Symbolic
Regression Ref - Reference to a generated Solidity regression test for a symbolic counterexample.
- Symbolic
Replay Metadata - Replay metadata for symbolic counterexample candidates.
- Symbolic
Result - Stable machine-readable outcome for
forge test --symbolicJSON output. - Symbolic
Solver Metadata - Solver identity and counters.
- Test
Outcome - The aggregated result of a test run.
- Test
Result - The result of an executed test.
- Test
Setup - The result of a test setup.
Enumsยง
- Invariant
Failure - A failure surfaced by an invariant test campaign โ either a broken
invariant_*predicate (Self::Predicate) or a handler-side assertion bug (Self::Handler). - Symbolic
Counterexample Artifact Kind - Symbolic counterexample artifact shape.
- Symbolic
Invariant Artifact Failure - Stateful invariant failure origin for a persisted symbolic sequence artifact.
- Symbolic
Invariant Failure Site - Concrete invariant failure site stored in symbolic replay artifacts.
- Symbolic
Replay Status - Counterexample replay status.
- Symbolic
Result Status - Normalized symbolic outcome names for agents and other JSON consumers.
- Test
Kind - Various types of tests
- Test
Kind Report - Data report by a test.
- Test
Status - The status of a test.
Constantsยง
- INVARIANT_
CAMPAIGN_ ๐FALLBACK_ NAME - SYMBOLIC_
COUNTEREXAMPLE_ ARTIFACT_ SCHEMA - SYMBOLIC_
COUNTEREXAMPLE_ ARTIFACT_ SCHEMA_ VERSION - SYMBOLIC_
RESULT_ ๐SCHEMA_ VERSION
Functionsยง
- default_
invariant_ ๐workers - invariant_
campaign_ ๐display_ name - invariant_
kind ๐ - Invariant kind for results that did not run a real campaign (setup failures, replays, skips).
- replay_
artifacts ๐ - All durable replay artifacts referenced by a counterexample: its own artifact plus the before/after artifacts of its minimization, if any.
- symbolic_
result_ ๐schema_ version - write_
failure ๐ - Appends
[FAIL: reason]{name_suffix}plus the counterexample sequence, if any. - write_
sequence ๐ - Appends a
[label] (original: N, shrunk: M)header followed by one line per call.