diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index 72dcc39..346528a 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -9,6 +9,5 @@ publish = false tinyvec = { path = "..", features = ["alloc", "nightly_slice_partition_dedup"] } rutenspitz = "0.2" honggfuzz = "0.5.45" -arbitrary = "0.2.0" +arbitrary = { version = "0.4.5", features = ["derive"] } better-panic = "0.2.0" -derive_arbitrary = "0.2.0" diff --git a/fuzz/src/arb_range.rs b/fuzz/src/arb_range.rs index 0a14f94..2dd9d4e 100644 --- a/fuzz/src/arb_range.rs +++ b/fuzz/src/arb_range.rs @@ -1,4 +1,4 @@ -use arbitrary::{Arbitrary, Unstructured}; +use arbitrary::{Arbitrary, Result, Unstructured}; use std::ops::{ Bound, Range, RangeBounds, RangeFrom, RangeInclusive, RangeTo, RangeToInclusive, @@ -50,7 +50,7 @@ impl RangeBounds for ArbRange { } impl Arbitrary for ArbRange { - fn arbitrary(u: &mut U) -> Result { + fn arbitrary(u: &mut Unstructured) -> Result { let variant = u8::arbitrary(u)? % 5; Ok(match variant { 0 => ArbRange::Range(T::arbitrary(u)?..T::arbitrary(u)?), diff --git a/fuzz/src/bin/arrayish.rs b/fuzz/src/bin/arrayish.rs index 7146126..e04283e 100644 --- a/fuzz/src/bin/arrayish.rs +++ b/fuzz/src/bin/arrayish.rs @@ -1,11 +1,10 @@ -use arbitrary_model_tests::arbitrary_stateful_operations; -use derive_arbitrary::Arbitrary; use honggfuzz::fuzz; use std::{ fmt::Debug, iter::FromIterator, ops::{Bound, RangeBounds}, }; +use rutenspitz::arbitrary_stateful_operations; use tinyvec::ArrayVec; use tinyvec_fuzz::ArbRange; @@ -84,12 +83,10 @@ arbitrary_stateful_operations! { } } -const MAX_RING_SIZE: usize = 16_384; - fn fuzz_cycle(data: &[u8]) -> Result<(), ()> { - use arbitrary::{Arbitrary, FiniteBuffer}; + use arbitrary::{Arbitrary, Unstructured}; - let mut ring = FiniteBuffer::new(&data, MAX_RING_SIZE).map_err(|_| ())?; + let mut ring = Unstructured::new(&data); let mut model = Vec::::default(); let mut tested: ArrayVec<[u16; 32]> = ArrayVec::new(); diff --git a/fuzz/src/bin/tinyvec.rs b/fuzz/src/bin/tinyvec.rs index 3bacaa8..c89fd8d 100644 --- a/fuzz/src/bin/tinyvec.rs +++ b/fuzz/src/bin/tinyvec.rs @@ -1,11 +1,10 @@ -use arbitrary_model_tests::arbitrary_stateful_operations; -use derive_arbitrary::Arbitrary; use honggfuzz::fuzz; use std::{ fmt::Debug, iter::FromIterator, ops::{Bound, RangeBounds}, }; +use rutenspitz::arbitrary_stateful_operations; use tinyvec::TinyVec; use tinyvec_fuzz::ArbRange; @@ -82,12 +81,10 @@ arbitrary_stateful_operations! { } } -const MAX_RING_SIZE: usize = 16_384; - fn fuzz_cycle(data: &[u8]) -> Result<(), ()> { - use arbitrary::{Arbitrary, FiniteBuffer}; + use arbitrary::{Arbitrary, Unstructured}; - let mut ring = FiniteBuffer::new(&data, MAX_RING_SIZE).map_err(|_| ())?; + let mut ring = Unstructured::new(&data); let mut model = Vec::::default(); let mut tested: TinyVec<[u16; 32]> = TinyVec::new();