Skip to content

Add Fuzzable trait #2893

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Feb 18, 2025
Merged

Add Fuzzable trait #2893

merged 3 commits into from
Feb 18, 2025

Conversation

ddoktorski
Copy link
Contributor

@ddoktorski ddoktorski commented Jan 29, 2025

Towards #2051

Introduced changes

  • Added Fuzzable trait with implementation for basic types

This PR is part of the stack:

-- Add generate_arg cheatcode (#2892)
➡️ Add Fuzzable trait (#2893)
-- Move statements logic to separate function (#2894)
-- Add new fuzzer logic to plugin (#2895)
-- Add cheatcode to save fuzzer input (#2923)
-- Remove old fuzzer logic (#2896)
-- Add fuzzer tests with multiple attributes (#2898)
-- Update fuzzer documentation and changelog (#2899)

@ddoktorski ddoktorski requested a review from cptartur February 10, 2025 13:26
@ddoktorski ddoktorski force-pushed the 2051-new-fuzzer-architecture-1 branch from e43ff4a to 0191418 Compare February 14, 2025 10:46
@ddoktorski ddoktorski force-pushed the 2051-new-fuzzer-architecture-2 branch from 54bec64 to 9383ef2 Compare February 14, 2025 10:47
Base automatically changed from 2051-new-fuzzer-architecture-1 to master February 17, 2025 19:58
RichoKD pushed a commit to RichoKD/starknet-foundry that referenced this pull request Feb 17, 2025
<!-- Reference any GitHub issues resolved by this PR -->

Towards foundry-rs#2051

## Introduced changes

<!-- A brief description of the changes -->

- Added a cheatcode for generating random number that is used for
creating data for fuzz tests

This PR is part of the stack:

➡️ Add `generate_arg` cheatcode
(foundry-rs#2892)
-- Add `Fuzzable` trait
(foundry-rs#2893)
-- Move statements logic to separate function
(foundry-rs#2894)
-- Add new fuzzer logic to plugin
(foundry-rs#2895)
-- Add cheatcode to save fuzzer input
(foundry-rs#2923)
-- Remove old fuzzer logic
(foundry-rs#2896)
-- Add fuzzer tests with multiple attributes
(foundry-rs#2898)
-- Update fuzzer documentation and changelog
(foundry-rs#2899)

---------

Co-authored-by: Franciszek Job <[email protected]>
Co-authored-by: Piotr Figiela <[email protected]>
@ddoktorski ddoktorski force-pushed the 2051-new-fuzzer-architecture-2 branch from 9383ef2 to f946f11 Compare February 18, 2025 08:23
@ddoktorski ddoktorski force-pushed the 2051-new-fuzzer-architecture-2 branch from f946f11 to b3d1ef4 Compare February 18, 2025 08:25
@ddoktorski ddoktorski enabled auto-merge February 18, 2025 08:27
@ddoktorski ddoktorski added this pull request to the merge queue Feb 18, 2025
Merged via the queue into master with commit b6cce49 Feb 18, 2025
38 checks passed
@ddoktorski ddoktorski deleted the 2051-new-fuzzer-architecture-2 branch February 18, 2025 09:12
github-merge-queue bot pushed a commit that referenced this pull request Feb 18, 2025
<!-- Reference any GitHub issues resolved by this PR -->

Towards #2051

## Introduced changes

<!-- A brief description of the changes -->

- Simple refactor to extract common logic between current
`append_config_statements` function and
`append_fuzzer_config_statements` added in the next PR

This PR is part of the stack:

-- Add `generate_arg` cheatcode
(#2892)
-- Add `Fuzzable` trait
(#2893)
➡️ Move statements logic to separate function
(#2894)
-- Add new fuzzer logic to plugin
(#2895)
-- Add cheatcode to save fuzzer input
(#2923)
-- Remove old fuzzer logic
(#2896)
-- Add fuzzer tests with multiple attributes
(#2898)
-- Update fuzzer documentation and changelog
(#2899)
github-merge-queue bot pushed a commit that referenced this pull request Feb 18, 2025
<!-- Reference any GitHub issues resolved by this PR -->

Towards #2051

## Introduced changes

<!-- A brief description of the changes -->

- Added new plugin logic for fuzzer attribute
- Split `#[fuzzer]` attribute into `#[__fuzzer_config]` and
`#[__fuzzer_wrapper]`
- Modified tests execution for fuzz tests

This PR is part of the stack:

-- Add `generate_arg` cheatcode
(#2892)
-- Add `Fuzzable` trait
(#2893)
-- Move statements logic to separate function
(#2894)
➡️ Add new fuzzer logic to plugin
(#2895)
-- Add cheatcode to save fuzzer input
(#2923)
-- Remove old fuzzer logic
(#2896)
-- Add fuzzer tests with multiple attributes
(#2898)
-- Update fuzzer documentation and changelog
(#2899)
github-merge-queue bot pushed a commit that referenced this pull request Feb 18, 2025
<!-- Reference any GitHub issues resolved by this PR -->

Towards #2051

This PR is part of the stack:

-- Add `generate_arg` cheatcode
(#2892)
-- Add `Fuzzable` trait
(#2893)
-- Move statements logic to separate function
(#2894)
-- Add new fuzzer logic to plugin
(#2895)
-- Add cheatcode to save fuzzer input
(#2923)
-- Remove old fuzzer logic
(#2896)
➡️ Add fuzzer tests with multiple attributes
(#2898)
-- Update fuzzer documentation and changelog
(#2899)

---------

Co-authored-by: Franciszek Job <[email protected]>
Co-authored-by: Piotr Figiela <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Feb 19, 2025
<!-- Reference any GitHub issues resolved by this PR -->

Towards #2051

This PR is part of the stack:

-- Add `generate_arg` cheatcode
(#2892)
-- Add `Fuzzable` trait
(#2893)
-- Move statements logic to separate function
(#2894)
-- Add new fuzzer logic to plugin
(#2895)
-- Add cheatcode to save fuzzer input
(#2923)
-- Remove old fuzzer logic
(#2896)
-- Add fuzzer tests with multiple attributes
(#2898)
➡️ Update fuzzer documentation and changelog
(#2899)

---------

Co-authored-by: Artur Michałek <[email protected]>
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.

4 participants