Skip to content

feat: expand fuzz testing coverage across the Bridge codebase#103

Merged
aarne merged 5 commits intomainfrom
fuzzmore
Mar 6, 2026
Merged

feat: expand fuzz testing coverage across the Bridge codebase#103
aarne merged 5 commits intomainfrom
fuzzmore

Conversation

@aarne
Copy link
Contributor

@aarne aarne commented Mar 6, 2026

  • Introduced a comprehensive fuzz testing expansion plan in fuzz-expansion.md, outlining current coverage, identified gaps, and a prioritized implementation roadmap.
  • Added new tests for deep-path AOT/runtime parity with chaotic inputs in fuzz-runtime-parity.test.ts, addressing critical gaps in testing.
  • Implemented crash-proofing and bug fixes for arr.filter and arr.find in the stdlib, ensuring robust handling of non-array inputs.
  • Created fuzz tests for parser functions in fuzz-parser.test.ts, ensuring resilience against invalid inputs and verifying serializer round-trip integrity.
  • Enhanced array and string tools with additional guards against unexpected input types, returning undefined for non-conforming values.
  • Updated package.json files to include fast-check as a devDependency across relevant packages.

- Introduced a comprehensive fuzz testing expansion plan in `fuzz-expansion.md`, outlining current coverage, identified gaps, and a prioritized implementation roadmap.
- Added new tests for deep-path AOT/runtime parity with chaotic inputs in `fuzz-runtime-parity.test.ts`, addressing critical gaps in testing.
- Implemented crash-proofing and bug fixes for `arr.filter` and `arr.find` in the stdlib, ensuring robust handling of non-array inputs.
- Created fuzz tests for parser functions in `fuzz-parser.test.ts`, ensuring resilience against invalid inputs and verifying serializer round-trip integrity.
- Enhanced array and string tools with additional guards against unexpected input types, returning `undefined` for non-conforming values.
- Updated `package.json` files to include `fast-check` as a devDependency across relevant packages.
@changeset-bot
Copy link

changeset-bot bot commented Mar 6, 2026

🦋 Changeset detected

Latest commit: 1020ff3

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 6 packages
Name Type
@stackables/bridge-compiler Patch
@stackables/bridge-core Patch
@stackables/bridge-stdlib Patch
@stackables/bridge Patch
@stackables/bridge-graphql Patch
@stackables/bridge-parser Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Mar 6, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
bridge 1020ff3 Commit Preview URL

Branch Preview URL
Mar 06 2026, 11:35 AM

@github-actions
Copy link
Contributor

github-actions bot commented Mar 6, 2026

🐰 Bencher Report

Branchfuzzmore
Testbedubuntu-latest
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
nanoseconds (ns)
(Result Δ%)
Upper Boundary
nanoseconds (ns)
(Limit %)
compiled: absolute baseline (passthrough, no tools)📈 view plot
🚷 view threshold
0.00 ns
(-0.09%)Baseline: 0.00 ns
0.00 ns
(92.80%)
compiled: array + tool-per-element 10📈 view plot
🚷 view threshold
0.01 ns
(-0.15%)Baseline: 0.01 ns
0.01 ns
(94.46%)
compiled: array + tool-per-element 100📈 view plot
🚷 view threshold
0.03 ns
(-3.63%)Baseline: 0.03 ns
0.04 ns
(91.05%)
compiled: chained 3-tool fan-out📈 view plot
🚷 view threshold
0.00 ns
(-0.89%)Baseline: 0.00 ns
0.00 ns
(93.19%)
compiled: flat array 10 items📈 view plot
🚷 view threshold
0.01 ns
(+2.40%)Baseline: 0.01 ns
0.01 ns
(96.46%)
compiled: flat array 100 items📈 view plot
🚷 view threshold
0.01 ns
(+0.67%)Baseline: 0.01 ns
0.01 ns
(95.78%)
compiled: flat array 1000 items📈 view plot
🚷 view threshold
0.07 ns
(+0.53%)Baseline: 0.07 ns
0.07 ns
(96.30%)
compiled: nested array 10x10📈 view plot
🚷 view threshold
0.02 ns
(-0.76%)Baseline: 0.02 ns
0.02 ns
(94.23%)
compiled: nested array 20x10📈 view plot
🚷 view threshold
0.03 ns
(-1.12%)Baseline: 0.03 ns
0.03 ns
(94.29%)
compiled: nested array 5x5📈 view plot
🚷 view threshold
0.01 ns
(-0.42%)Baseline: 0.01 ns
0.01 ns
(94.48%)
compiled: short-circuit (overdefinition bypass)📈 view plot
🚷 view threshold
0.00 ns
(-0.13%)Baseline: 0.00 ns
0.00 ns
(92.96%)
compiled: simple chain (1 tool)📈 view plot
🚷 view threshold
0.00 ns
(+0.10%)Baseline: 0.00 ns
0.00 ns
(93.15%)
exec: absolute baseline (passthrough, no tools)📈 view plot
🚷 view threshold
0.00 ns
(+4.85%)Baseline: 0.00 ns
0.00 ns
(86.10%)
exec: array + tool-per-element 10📈 view plot
🚷 view threshold
0.08 ns
(+1.63%)Baseline: 0.08 ns
0.10 ns
(77.56%)
exec: array + tool-per-element 100📈 view plot
🚷 view threshold
0.69 ns
(+1.40%)Baseline: 0.68 ns
0.91 ns
(75.36%)
exec: chained 3-tool fan-out📈 view plot
🚷 view threshold
0.02 ns
(+13.44%)Baseline: 0.01 ns
0.02 ns
(84.44%)
exec: flat array 10 items📈 view plot
🚷 view threshold
0.01 ns
(-5.88%)Baseline: 0.02 ns
0.03 ns
(42.91%)
exec: flat array 100 items📈 view plot
🚷 view threshold
0.07 ns
(-20.89%)Baseline: 0.09 ns
0.30 ns
(24.85%)
exec: flat array 1000 items📈 view plot
🚷 view threshold
0.67 ns
(-28.93%)Baseline: 0.94 ns
3.63 ns
(18.47%)
exec: nested array 10x10📈 view plot
🚷 view threshold
0.12 ns
(-14.23%)Baseline: 0.14 ns
0.37 ns
(33.27%)
exec: nested array 20x10📈 view plot
🚷 view threshold
0.24 ns
(-14.69%)Baseline: 0.28 ns
0.75 ns
(31.89%)
exec: nested array 5x5📈 view plot
🚷 view threshold
0.05 ns
(-7.78%)Baseline: 0.05 ns
0.10 ns
(45.87%)
exec: short-circuit (overdefinition bypass)📈 view plot
🚷 view threshold
0.00 ns
(+6.69%)Baseline: 0.00 ns
0.00 ns
(94.02%)
exec: simple chain (1 tool)📈 view plot
🚷 view threshold
0.01 ns
(+14.63%)Baseline: 0.01 ns
0.01 ns
(88.92%)
parse: large bridge (20 handles x 5 wires)📈 view plot
🚷 view threshold
1.12 ns
(+12.28%)Baseline: 0.99 ns
1.36 ns
(82.20%)
parse: simple bridge📈 view plot
🚷 view threshold
0.04 ns
(+25.32%)Baseline: 0.03 ns
0.05 ns
(88.05%)
🐰 View full continuous benchmarking report in Bencher

@aarne aarne merged commit fc6c619 into main Mar 6, 2026
8 checks passed
@aarne aarne deleted the fuzzmore branch March 6, 2026 11:38
@github-actions github-actions bot mentioned this pull request Mar 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant