Skip to content

Evaluate fuzzing libraries and migrate existing fuzz tests #464

@cmichi

Description

@cmichi

Current State

With #319 we introduced the first fuzzing tests for ink!. At the moment they use the quickcheck crate. The tests can be executed via

cd core/
cargo test --features ink-fuzz-tests -- fuzz_tests

They are behind the feature flag ink-fuzz-tests and in a separate file fuzz_tests.rs.

ToDos

We want to evaluate if quickcheck really is the best choice before we move forward with adding more fuzz tests.

  • Research/evaluate proptest vs cargo-fuzz vs quickcheck vs whatever-there-might-be.
  • After a decision has been made the existing fuzz tests should be migrated to the new library. The existing structure of fuzz tests behind a feature flag + separate fuzz tests files seems like a reasonable choice and should be kept.

Interesting Literature

https://blog.logrocket.com/property-based-testing-in-rust-with-proptest/
https://www.reddit.com/r/rust/comments/hg6x3s/cargofuzz_is_now_10x_faster_better_supports/

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-ink_storage[ink_storage] Work ItemB-researchResearch task that has open questions that need to be resolved.C-discussionAn issue for discussion for a given topic.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions