From 99d7067fcc8ef0fcd01a8e09180ab2b7d2902608 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 08:43:03 +0000 Subject: [PATCH 1/7] Bump clap from 4.4.6 to 4.4.7 Bumps [clap](https://github.com/clap-rs/clap) from 4.4.6 to 4.4.7. - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/v4.4.6...v4.4.7) --- updated-dependencies: - dependency-name: clap dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Cargo.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 778b6a169..7e1a5331a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -154,18 +154,18 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "4.4.6" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" +checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.4.6" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" +checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663" dependencies = [ "anstream", "anstyle", @@ -175,9 +175,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" [[package]] name = "colorchoice" From bc23ca7f11538cb473b47711a111e07ab8dc3d46 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 08:43:08 +0000 Subject: [PATCH 2/7] Bump tempfile from 3.8.0 to 3.8.1 Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.8.0 to 3.8.1. - [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md) - [Commits](https://github.com/Stebalien/tempfile/commits) --- updated-dependencies: - dependency-name: tempfile dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Cargo.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7e1a5331a..e5edab0bd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -374,9 +374,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.3.5" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ "bitflags 1.3.2", ] @@ -427,9 +427,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.19" +version = "0.38.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" +checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" dependencies = [ "bitflags 2.4.1", "errno", @@ -469,9 +469,9 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.8.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" dependencies = [ "cfg-if", "fastrand", From fdd7a94d36fb91b62dbdba29028a152a508b0af7 Mon Sep 17 00:00:00 2001 From: Samuel Moelius Date: Tue, 31 Oct 2023 12:22:54 -0400 Subject: [PATCH 3/7] Check subcommands' statuses --- cargo-afl/src/bin/cargo-afl.rs | 111 +++++++++++++++++++++------------ 1 file changed, 72 insertions(+), 39 deletions(-) diff --git a/cargo-afl/src/bin/cargo-afl.rs b/cargo-afl/src/bin/cargo-afl.rs index c797cb390..30c2e8c88 100644 --- a/cargo-afl/src/bin/cargo-afl.rs +++ b/cargo-afl/src/bin/cargo-afl.rs @@ -367,6 +367,7 @@ mod tests { use super::*; use assert_cmd::Command; use std::os::unix::ffi::OsStringExt; + use std::process::Output; #[test] fn test_app() { @@ -375,26 +376,34 @@ mod tests { #[test] fn display_name() { - assert!( - String::from_utf8(cargo_afl(&["-V"]).output().unwrap().stdout) - .unwrap() - .starts_with("cargo-afl") - ); + let output = cargo_afl(&["-V"]).output().unwrap(); + assert_success(&output, None); + assert!(String::from_utf8(output.stdout) + .unwrap() + .starts_with("cargo-afl")); } #[test] fn afl_required_else_help() { + let lhs = command().arg("--help").output().unwrap(); + let rhs = command().output().unwrap(); + assert_success(&lhs, None); + assert_failure(&rhs, None); assert_eq!( - String::from_utf8(command().arg("--help").output().unwrap().stdout).unwrap(), - String::from_utf8(command().output().unwrap().stderr).unwrap() + String::from_utf8(lhs.stdout).unwrap(), + String::from_utf8(rhs.stderr).unwrap() ); } #[test] fn subcommand_required_else_help() { + let lhs = cargo_afl(&["--help"]).output().unwrap(); + let rhs = cargo_afl::<&OsStr>(&[]).output().unwrap(); + assert_success(&lhs, None); + assert_failure(&rhs, None); assert_eq!( - String::from_utf8(cargo_afl(&["--help"]).output().unwrap().stdout).unwrap(), - String::from_utf8(cargo_afl::<&OsStr>(&[]).output().unwrap().stderr).unwrap() + String::from_utf8(lhs.stdout).unwrap(), + String::from_utf8(rhs.stderr).unwrap() ); } @@ -447,52 +456,52 @@ mod tests { #[test] fn subcommands_help_subcommand_disabled() { - assert!( - String::from_utf8(cargo_afl(&["help"]).output().unwrap().stdout) - .unwrap() - .starts_with("Usage:") - ); + let output = cargo_afl(&["help"]).output().unwrap(); + assert_success(&output, None); + assert!(String::from_utf8(output.stdout) + .unwrap() + .starts_with("Usage:")); for &subcommand in SUBCOMMANDS { - assert!( - !String::from_utf8(cargo_afl(&[subcommand, "help"]).output().unwrap().stdout) - .unwrap() - .starts_with("Usage:") - ); + let output = cargo_afl(&[subcommand, "help"]).output().unwrap(); + assert_failure(&output, Some(subcommand)); + assert!(!String::from_utf8(output.stdout) + .unwrap() + .starts_with("Usage:")); } } #[test] fn subcommands_help_flag_disabled() { - assert!( - String::from_utf8(cargo_afl(&["--help"]).output().unwrap().stdout) - .unwrap() - .starts_with("Usage:") - ); - - for &subcommand in SUBCOMMANDS { - assert!(!String::from_utf8( - cargo_afl(&[subcommand, "--help"]).output().unwrap().stdout - ) + let output = cargo_afl(&["--help"]).output().unwrap(); + assert_success(&output, None); + assert!(String::from_utf8(output.stdout) .unwrap() .starts_with("Usage:")); + + for &subcommand in SUBCOMMANDS { + let output = cargo_afl(&[subcommand, "--help"]).output().unwrap(); + assert_failure(&output, Some(subcommand)); + assert!(!String::from_utf8(output.stdout) + .unwrap() + .starts_with("Usage:")); } } #[test] fn subcommands_version_flag_disabled() { - assert!( - String::from_utf8(cargo_afl(&["-V"]).output().unwrap().stdout) - .unwrap() - .starts_with("cargo-afl") - ); + let output = cargo_afl(&["-V"]).output().unwrap(); + assert_success(&output, None); + assert!(String::from_utf8(output.stdout) + .unwrap() + .starts_with("cargo-afl")); for &subcommand in SUBCOMMANDS { - assert!( - !String::from_utf8(cargo_afl(&[subcommand, "-V"]).output().unwrap().stdout) - .unwrap() - .starts_with("cargo-afl") - ); + let output = cargo_afl(&[subcommand, "-V"]).output().unwrap(); + assert_failure(&output, Some(subcommand)); + assert!(!String::from_utf8(output.stdout) + .unwrap() + .starts_with("cargo-afl")); } } @@ -506,6 +515,30 @@ mod tests { Command::cargo_bin("cargo-afl").unwrap() } + fn assert_success(output: &Output, subcommand: Option<&str>) { + assert!( + output.status.success(), + "{}", + if let Some(subcommand) = subcommand { + format!("{subcommand} failed") + } else { + String::new() + } + ); + } + + fn assert_failure(output: &Output, subcommand: Option<&str>) { + assert!( + !output.status.success(), + "{}", + if let Some(subcommand) = subcommand { + format!("{subcommand} succeeded") + } else { + String::new() + } + ); + } + fn invalid_utf8() -> OsString { OsString::from_vec(vec![0xfe]) } From c62b911ac921b0189bce11196380aeeba3c2ba7b Mon Sep 17 00:00:00 2001 From: Samuel Moelius Date: Tue, 7 Nov 2023 10:27:31 -0500 Subject: [PATCH 4/7] Update AFLplusplus --- cargo-afl/AFLplusplus | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cargo-afl/AFLplusplus b/cargo-afl/AFLplusplus index ad2af7cae..7e67dc9d6 160000 --- a/cargo-afl/AFLplusplus +++ b/cargo-afl/AFLplusplus @@ -1 +1 @@ -Subproject commit ad2af7caec2df6ceec87669864f47b9567c672af +Subproject commit 7e67dc9d6938aadef19d5697a448cdf15a50172f From b6e8eaac45a01cb5de0e92a6c84b1519af0d2bbd Mon Sep 17 00:00:00 2001 From: Samuel Moelius Date: Tue, 7 Nov 2023 10:27:44 -0500 Subject: [PATCH 5/7] Add special case for `afl-system-config`'s `--help` flag --- cargo-afl/src/bin/cargo-afl.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cargo-afl/src/bin/cargo-afl.rs b/cargo-afl/src/bin/cargo-afl.rs index 30c2e8c88..b0d4e1eea 100644 --- a/cargo-afl/src/bin/cargo-afl.rs +++ b/cargo-afl/src/bin/cargo-afl.rs @@ -481,7 +481,12 @@ mod tests { for &subcommand in SUBCOMMANDS { let output = cargo_afl(&[subcommand, "--help"]).output().unwrap(); - assert_failure(&output, Some(subcommand)); + // smoelius: `afl-system-config` has a `--help` flag. + if subcommand == "system-config" { + assert_success(&output, Some(subcommand)); + } else { + assert_failure(&output, Some(subcommand)); + } assert!(!String::from_utf8(output.stdout) .unwrap() .starts_with("Usage:")); From 8969c242dd655720d63affd85034005b3dd454ab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 08:42:10 +0000 Subject: [PATCH 6/7] Bump arbitrary from 1.3.1 to 1.3.2 Bumps [arbitrary](https://github.com/rust-fuzz/arbitrary) from 1.3.1 to 1.3.2. - [Changelog](https://github.com/rust-fuzz/arbitrary/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-fuzz/arbitrary/compare/derive_arbitrary@1.3.1...v1.3.2) --- updated-dependencies: - dependency-name: arbitrary dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e5edab0bd..2c773b6b0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -72,9 +72,9 @@ dependencies = [ [[package]] name = "arbitrary" -version = "1.3.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2e1373abdaa212b704512ec2bd8b26bd0b7d5c3f70117411a5d9a451383c859" +checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" dependencies = [ "derive_arbitrary", ] @@ -197,9 +197,9 @@ dependencies = [ [[package]] name = "derive_arbitrary" -version = "1.3.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53e0efad4403bfc52dc201159c4b842a246a14b98c64b55dfd0f2d89729dfeb8" +checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", From 8130881a5051bd8b92aa7652e93ab0aee6187199 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 08:42:18 +0000 Subject: [PATCH 7/7] Bump libc from 0.2.149 to 0.2.150 Bumps [libc](https://github.com/rust-lang/libc) from 0.2.149 to 0.2.150. - [Release notes](https://github.com/rust-lang/libc/releases) - [Commits](https://github.com/rust-lang/libc/compare/0.2.149...0.2.150) --- updated-dependencies: - dependency-name: libc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2c773b6b0..2e1569e45 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -286,9 +286,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.149" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "linux-raw-sys"