Skip to content

Commit 2103911

Browse files
authored
Merge pull request #7717 from drinkcat/fuzz-minor-fixes
Fuzzing: minor fixes
2 parents bf9a8b8 + 8f9bdf3 commit 2103911

File tree

13 files changed

+23
-17
lines changed

13 files changed

+23
-17
lines changed

.github/workflows/fuzzing.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ jobs:
8484
shell: bash
8585
continue-on-error: ${{ !matrix.test-target.name.should_pass }}
8686
run: |
87-
cargo +nightly fuzz run ${{ matrix.test-target.name }} -- -max_total_time=${{ env.RUN_FOR }} -detect_leaks=0
87+
cargo +nightly fuzz run ${{ matrix.test-target.name }} -- -max_total_time=${{ env.RUN_FOR }} -timeout=${{ env.RUN_FOR }} -detect_leaks=0
8888
- name: Save Corpus Cache
8989
uses: actions/cache/save@v4
9090
with:

fuzz/fuzz_targets/fuzz_cksum.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@ use std::ffi::OsString;
1010
use uu_cksum::uumain;
1111
mod fuzz_common;
1212
use crate::fuzz_common::{
13-
compare_result, generate_and_run_uumain, generate_random_file, generate_random_string,
13+
CommandResult, compare_result, generate_and_run_uumain, generate_random_file,
14+
generate_random_string,
1415
pretty_print::{print_or_empty, print_test_begin},
15-
replace_fuzz_binary_name, run_gnu_cmd, CommandResult,
16+
replace_fuzz_binary_name, run_gnu_cmd,
1617
};
1718
use rand::Rng;
1819
use std::env::temp_dir;

fuzz/fuzz_targets/fuzz_common/mod.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@
55

66
use console::Style;
77
use libc::STDIN_FILENO;
8-
use libc::{close, dup, dup2, pipe, STDERR_FILENO, STDOUT_FILENO};
8+
use libc::{STDERR_FILENO, STDOUT_FILENO, close, dup, dup2, pipe};
99
use pretty_print::{
1010
print_diff, print_end_with_status, print_or_empty, print_section, print_with_style,
1111
};
12-
use rand::prelude::IndexedRandom;
1312
use rand::Rng;
13+
use rand::prelude::IndexedRandom;
1414
use std::env::temp_dir;
1515
use std::ffi::OsString;
1616
use std::fs::File;
1717
use std::io::{Seek, SeekFrom, Write};
1818
use std::os::fd::{AsRawFd, RawFd};
1919
use std::process::{Command, Stdio};
2020
use std::sync::atomic::Ordering;
21-
use std::sync::{atomic::AtomicBool, Once};
21+
use std::sync::{Once, atomic::AtomicBool};
2222
use std::{io, thread};
2323

2424
pub mod pretty_print;
@@ -132,6 +132,8 @@ where
132132
let (uumain_exit_status, captured_stdout, captured_stderr) = thread::scope(|s| {
133133
let out = s.spawn(|| read_from_fd(pipe_stdout_fds[0]));
134134
let err = s.spawn(|| read_from_fd(pipe_stderr_fds[0]));
135+
#[allow(clippy::unnecessary_to_owned)]
136+
// TODO: clippy wants us to use args.iter().cloned() ?
135137
let status = uumain_function(args.to_owned().into_iter());
136138
// Reset the exit code global variable in case we run another test after this one
137139
// See https://github.com/uutils/coreutils/issues/5777
@@ -406,6 +408,7 @@ pub fn generate_random_string(max_length: usize) -> String {
406408
result
407409
}
408410

411+
#[allow(dead_code)]
409412
pub fn generate_random_file() -> Result<String, std::io::Error> {
410413
let mut rng = rand::rng();
411414
let file_name: String = (0..10)
@@ -426,6 +429,7 @@ pub fn generate_random_file() -> Result<String, std::io::Error> {
426429
Ok(file_path.to_str().unwrap().to_string())
427430
}
428431

432+
#[allow(dead_code)]
429433
pub fn replace_fuzz_binary_name(cmd: &str, result: &mut CommandResult) {
430434
let fuzz_bin_name = format!("fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_{cmd}");
431435

fuzz/fuzz_targets/fuzz_common/pretty_print.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
use std::fmt;
77

8-
use console::{style, Style};
8+
use console::{Style, style};
99
use similar::TextDiff;
1010

1111
pub fn print_section<S: fmt::Display>(s: S) {
@@ -16,6 +16,7 @@ pub fn print_subsection<S: fmt::Display>(s: S) {
1616
println!("{}", style(format!("--- {s}")).bright());
1717
}
1818

19+
#[allow(dead_code)]
1920
pub fn print_test_begin<S: fmt::Display>(msg: S) {
2021
println!(
2122
"{} {} {}",
@@ -49,7 +50,7 @@ pub fn print_with_style<S: fmt::Display>(msg: S, style: Style) {
4950
println!("{}", style.apply_to(msg));
5051
}
5152

52-
pub fn print_diff<'a, 'b>(got: &'a str, expected: &'b str) {
53+
pub fn print_diff(got: &str, expected: &str) {
5354
let diff = TextDiff::from_lines(got, expected);
5455

5556
print_subsection("START diff");

fuzz/fuzz_targets/fuzz_cut.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use std::ffi::OsString;
1313

1414
mod fuzz_common;
1515
use crate::fuzz_common::{
16-
compare_result, generate_and_run_uumain, generate_random_string, run_gnu_cmd, CommandResult,
16+
CommandResult, compare_result, generate_and_run_uumain, generate_random_string, run_gnu_cmd,
1717
};
1818
static CMD_PATH: &str = "cut";
1919

fuzz/fuzz_targets/fuzz_echo.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
use libfuzzer_sys::fuzz_target;
33
use uu_echo::uumain;
44

5-
use rand::prelude::IndexedRandom;
65
use rand::Rng;
6+
use rand::prelude::IndexedRandom;
77
use std::ffi::OsString;
88

99
mod fuzz_common;

fuzz/fuzz_targets/fuzz_env.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use std::ffi::OsString;
1212

1313
mod fuzz_common;
1414
use crate::fuzz_common::{
15-
compare_result, generate_and_run_uumain, generate_random_string, run_gnu_cmd, CommandResult,
15+
CommandResult, compare_result, generate_and_run_uumain, generate_random_string, run_gnu_cmd,
1616
};
1717
use rand::Rng;
1818

fuzz/fuzz_targets/fuzz_expr.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
use libfuzzer_sys::fuzz_target;
99
use uu_expr::uumain;
1010

11-
use rand::prelude::IndexedRandom;
1211
use rand::Rng;
12+
use rand::prelude::IndexedRandom;
1313
use std::{env, ffi::OsString};
1414

1515
mod fuzz_common;

fuzz/fuzz_targets/fuzz_printf.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
use libfuzzer_sys::fuzz_target;
99
use uu_printf::uumain;
1010

11-
use rand::seq::IndexedRandom;
1211
use rand::Rng;
12+
use rand::seq::IndexedRandom;
1313
use std::env;
1414
use std::ffi::OsString;
1515

fuzz/fuzz_targets/fuzz_split.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use std::ffi::OsString;
1313

1414
mod fuzz_common;
1515
use crate::fuzz_common::{
16-
compare_result, generate_and_run_uumain, generate_random_string, run_gnu_cmd, CommandResult,
16+
CommandResult, compare_result, generate_and_run_uumain, generate_random_string, run_gnu_cmd,
1717
};
1818
static CMD_PATH: &str = "split";
1919

0 commit comments

Comments
 (0)