You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tests: Add the cargo-fuzz suite and all of its supporting changes
Squashes every fuzzing-infrastructure change in this branch into one commit,
separate from the individual bug fixes the fuzzing surfaced (one commit each):
* The cargo-fuzz crates under `src/*/fuzz` — targets, seed corpora,
dictionaries, and `prepare-corpus.sh` scripts — covering the SQL parser /
pretty-printer, repr (strconv, jsonb, Row codec/proto, arithmetic oracles),
the expr optimizer transforms, Avro/Protobuf/CSV/pgwire/pgcopy decoders,
pgrepr/pgtz, the upsert state machine, persist durable-state decode, and the
proto round-trips across storage-types/persist/catalog/external table descs.
* The harness and runner wiring: `--profile fruitful`, `--jobs auto`,
per-crate sharding, artifact-based crash detection, `.repro.txt` sidecars,
and the auto-generated `buf.yaml` fuzz-crate excludes.
* CI: move cargo-fuzz from nightly to release qualification (24h, 48-core).
* The production-side enablement the targets require: the `fuzzing`/`fuzz`
Cargo features and the `#[doc(hidden)]` / `cfg`-gated re-exports that expose
upsert, persist-client, and pgwire internals to the fuzz crates.
* The macOS build fixes those exports necessitated: raising and then removing
the storage `recursion_limit` workaround by switching the affected
`Stream::inspect` calls to `InspectCore::inspect_container`, which avoids the
objc2-driven trait-solver overflow.
* The sqllogictest/testdrive golden updates for the identifier-quoting changes.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments