Skip to content

Rv fuzzing setup#27

Open
asavienko wants to merge 33 commits intodevelopfrom
rv-fuzzing-setup
Open

Rv fuzzing setup#27
asavienko wants to merge 33 commits intodevelopfrom
rv-fuzzing-setup

Conversation

@asavienko
Copy link
Copy Markdown

No description provided.

asavienko and others added 25 commits March 4, 2026 15:09
…LogsDB`.

These tests ensure correct functionality under varied inputs and edge cases.
Provides in-depth architecture, component, and fuzz testing insights for the OP-Supernode, focusing on verification, invalidation, and rewind mechanisms.
…d added reset/rewind coverage. Refactor mocks for sealed block tracking and refine expiry boundary tests.
…, reusable components, edge cases, and implementation strategy for OP-Supernode validation, rewind, and interop testing campaigns.
…d` with `L1Inclusion`, refine boundary and rewind logic for `Interop` and `VerifiedDB`.
…hrough.md` by removing outdated sections, adding cycle detection logic, and aligning fuzz targets with the updated implementation plan.
…reuse analysis, structural mock comparisons, and usage matrix for fuzzing campaign.
… properties, test coverage, and execution commands for `Interop`, `EngineController`, `VerifiedDB`, `LogsDB`, and `DenyList`.
…e generation and block setup, improving code readability and maintainability
Co-authored-by: lisandrasilva <lisandrasilva18@hotmail.com>
…fiedDB` directly.

Remove in-memory `MemVerifiedDB` implementation and associated `VerifiedStore` interface

- Updated `Interop` to use `*VerifiedDB` directly instead of `VerifiedStore`.
- Refactored fuzz tests to replace `MemVerifiedDB` with bbolt-backed `VerifiedDB` for correctness.
- Removed `MemVerifiedDB` implementation and `VerifiedStore` interface as they are no longer needed.

Refactor fuzz tests and VerifiedDB interface

- Updated fuzz tests in `fuzz_interop_test.go`, `fuzz_logdb_test.go`, and `fuzz_verified_db_test.go` to improve coverage and utilize in-memory VerifiedDB for performance.
- Introduced `fuzz_progress_test.go` to test orchestration logic in `progressAndRecord` under various scenarios.
- Changed `Interop` struct to use `VerifiedStore` interface instead of concrete `VerifiedDB` type, allowing for more flexible testing.
- Enhanced `VerifiedDB` implementation with a new interface `VerifiedStore` to facilitate in-memory testing and maintain consistency across commit and rewind operations.

Refactor fuzz tests and VerifiedDB interface

- Updated fuzz tests in `fuzz_interop_test.go`, `fuzz_logdb_test.go`, and `fuzz_verified_db_test.go` to improve coverage and utilize in-memory VerifiedDB for performance.
- Introduced `fuzz_progress_test.go` to test orchestration logic in `progressAndRecord` under various scenarios.
- Changed `Interop` struct to use `VerifiedStore` interface instead of concrete `VerifiedDB` type, allowing for more flexible testing.
- Enhanced `VerifiedDB` implementation with a new interface `VerifiedStore` to facilitate in-memory testing and maintain consistency across commit and rewind operations.
gtrepta and others added 5 commits March 23, 2026 20:31
…inContainer`

- Introduced `FuzzProgressAndRecordWithRandomChain` to test `progressAndRecord` with valid random chains, verifying properties P40-P42 and document coverage INV-1, INV-2, INV-3, INV-7, INV-9.
- Added `FuzzProgressAndRecordWithRandomChainInvalid` to test `progressAndRecord` with deliberately invalidated blocks, validating properties P43-P45 and coverage INV-3, Step 4.
…d resource usage

- Introduced `Dockerfile.fuzz` to build fuzz test binaries with caching and memory optimizations.
- Added `docker-compose.fuzz.yml` for streamlined execution of fuzz tests with resource constraints and persistent volumes.
- Created `.dockerignore` to exclude unnecessary files from the fuzz testing context.
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.

2 participants