mirror of
https://github.com/tlsnotary/tlsn-utils.git
synced 2026-01-08 04:13:59 -05:00
* clippy fixes * fmt fixes * mirgrate to 2024 and fix workspace warning * fix profile * rustfmt --------- Co-authored-by: sinu <65924192+sinui0@users.noreply.github.com>
34 lines
691 B
Rust
34 lines
691 B
Rust
#![no_main]
|
|
|
|
use std::ops::Range;
|
|
|
|
use libfuzzer_sys::fuzz_target;
|
|
|
|
use rangeset_fuzz::{SmallSet, assert_invariants};
|
|
|
|
use rangeset::*;
|
|
|
|
fn expected_union(a: RangeSet<u8>, b: Range<u8>) -> Vec<u8> {
|
|
let mut expected_values = a.iter().chain(b).collect::<Vec<_>>();
|
|
|
|
expected_values.sort();
|
|
expected_values.dedup();
|
|
|
|
expected_values
|
|
}
|
|
|
|
fuzz_target!(|r: (Range<u8>, SmallSet)| {
|
|
let r1 = r.0;
|
|
let r2: RangeSet<u8> = r.1.into();
|
|
|
|
let expected_values = expected_union(r2.clone(), r1.clone());
|
|
|
|
let union = r2.union(&r1);
|
|
|
|
let actual_values = union.iter().collect::<Vec<_>>();
|
|
|
|
assert_eq!(expected_values, actual_values);
|
|
|
|
assert_invariants(union);
|
|
});
|