diff --git a/Cargo.lock b/Cargo.lock index fe776fe82..f8e20ef28 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -535,9 +535,9 @@ dependencies = [ [[package]] name = "bolero" -version = "0.8.0" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3387d308f66ed222bdbb19c6ba06b1517168c4e45dc64051c5f1b4845db2901c" +checksum = "4e913ed74716cd68dc5be41c702327b1cc4ffc8f0b55945ae46fb015777007eb" dependencies = [ "bolero-afl", "bolero-engine", @@ -546,14 +546,14 @@ dependencies = [ "bolero-kani", "bolero-libfuzzer", "cfg-if", - "rand 0.8.5", + "rand 0.9.0", ] [[package]] name = "bolero-afl" -version = "0.8.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "973bc6341b6a865dee93f17b78de4a100551014a527798ff1d7265d3bc0f7d89" +checksum = "d9bf4cbd0bacf9356d3c7e5d9d088480f2076ba3c595c15ee9a6a378cdd7b297" dependencies = [ "bolero-engine", "cc", @@ -561,35 +561,38 @@ dependencies = [ [[package]] name = "bolero-engine" -version = "0.8.1" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c506a476cea9e95f58c264b343ee279c353d93ceaebe98cbfb16e74bfaee2e2" +checksum = "05cae8c41807b046bb7005f52fa60c8f67787c1bf272242f0b84224853e04ceb" dependencies = [ "anyhow", - "backtrace", "bolero-generator", "lazy_static", "pretty-hex", - "rand 0.8.5", + "rand 0.9.0", + "rand_xoshiro", ] [[package]] name = "bolero-generator" -version = "0.8.0" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d52eca8714d110e581cf17eeacf0d1a0d409d38a9e9ce07efeda6125f7febb" +checksum = "8e3ac7405f187921256faa515fa05ae02521103582a9d938410cefabe3a9a172" dependencies = [ "bolero-generator-derive", "either", - "rand_core 0.6.4", + "getrandom 0.3.3", + "rand_core 0.9.3", + "rand_xoshiro", ] [[package]] name = "bolero-generator-derive" -version = "0.8.0" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3c57c2a0967ad1a09ba4c2bf8f1c6b6db2f71e8c0db4fa280c65a0f6c249c3" +checksum = "9c56c2f8c1c0707d678bebb36168cfd523c45927bb8d9cb7567d3578fa428cbd" dependencies = [ + "proc-macro-crate 2.0.0", "proc-macro2", "quote", "syn 1.0.109", @@ -597,27 +600,27 @@ dependencies = [ [[package]] name = "bolero-honggfuzz" -version = "0.8.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7996a3fa8d93652358b9b3b805233807168f49740a8bf91a531cd61e4da65355" +checksum = "9a118ef27295eddefadc6a99728ee698d1b18d2e80dc4777d21bee3385096ffd" dependencies = [ "bolero-engine", ] [[package]] name = "bolero-kani" -version = "0.8.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206879993fffa1cf2c703b1ef93b0febfa76bae85a0a5d4ae0ee6d99a2e3b74e" +checksum = "852ea5784a9f3e68bfd302ca80b8b863bce140593eb5770fee6ab110899c28fc" dependencies = [ "bolero-engine", ] [[package]] name = "bolero-libfuzzer" -version = "0.8.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdc5547411b84703d9020914f15a7d709cfb738c72b5e0f5a499fe56b8465c98" +checksum = "858dc57c11725c52662501fa79fdbc6f7050339a05ca1bf1e587add0fed40d62" dependencies = [ "bolero-engine", "cc", @@ -3530,7 +3533,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43fa9161ed44d30e9702fe42bd78693bceac0fed02f647da749f36109023d3a3" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", "syn 1.0.109", @@ -3845,7 +3848,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", "syn 2.0.101", @@ -4520,9 +4523,9 @@ dependencies = [ [[package]] name = "pretty-hex" -version = "0.3.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5" +checksum = "bbc83ee4a840062f368f9096d80077a9841ec117e17e7f700df81958f1451254" [[package]] name = "pretty_assertions" @@ -4543,13 +4546,22 @@ dependencies = [ "elliptic-curve", ] +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.7", +] + [[package]] name = "proc-macro-crate" version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit", + "toml_edit 0.22.20", ] [[package]] @@ -4804,6 +4816,15 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand_xoshiro" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41" +dependencies = [ + "rand_core 0.9.3", +] + [[package]] name = "ratelimit" version = "1.0.0" @@ -6185,7 +6206,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.22.20", ] [[package]] @@ -6197,6 +6218,17 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow 0.5.40", +] + [[package]] name = "toml_edit" version = "0.22.20" @@ -6207,7 +6239,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.6.26", ] [[package]] @@ -7082,6 +7114,15 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + [[package]] name = "winnow" version = "0.6.26" diff --git a/Cargo.toml b/Cargo.toml index 8b2fba2e5..0808d70d6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,6 +18,9 @@ opt-level = 1 debug = 1 opt-level = 0 +[profile.fuzz] +inherits = "test" + # Always optimize dependencies. # This does not apply to crates in the workspace. # diff --git a/README.md b/README.md index 2d6a53698..1297d6953 100644 --- a/README.md +++ b/README.md @@ -156,13 +156,13 @@ $ cargo test -- --ignored Install [`cargo-bolero`](https://github.com/camshaft/bolero) with ```sh -$ cargo install cargo-bolero@0.8.0 +$ cargo install cargo-bolero ``` Run fuzzing tests with ```sh $ cd fuzz -$ cargo bolero test fuzz_mailparse --release=false -s NONE +$ cargo bolero test fuzz_mailparse -s NONE ``` Corpus is created at `fuzz/fuzz_targets/corpus`, @@ -170,11 +170,6 @@ you can add initial inputs there. For `fuzz_mailparse` target corpus can be populated with `../test-data/message/*.eml`. -To run with AFL instead of libFuzzer: -```sh -$ cargo bolero test fuzz_format_flowed --release=false -e afl -s NONE -``` - ## Features - `vendored`: When using Openssl for TLS, this bundles a vendored version. diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index 237902531..0f5faa54f 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" license = "MPL-2.0" [dev-dependencies] -bolero = "0.8" +bolero = "0.13.3" [dependencies] mailparse = { workspace = true }