mirror of
https://github.com/microsoft/onefuzz.git
synced 2025-06-17 20:38:06 +00:00
use usize for worker_id (#755)
This commit is contained in:
@ -25,7 +25,7 @@ pub fn build_fuzz_config(args: &clap::ArgMatches<'_>, common: CommonConfig) -> R
|
||||
let target_env = get_cmd_env(CmdType::Target, args)?;
|
||||
let target_options = get_cmd_arg(CmdType::Target, args);
|
||||
|
||||
let target_workers = value_t!(args, "target_workers", u64).unwrap_or_default();
|
||||
let target_workers = value_t!(args, "target_workers", usize).unwrap_or_default();
|
||||
let readonly_inputs = None;
|
||||
let check_fuzzer_help = args.is_present(CHECK_FUZZER_HELP);
|
||||
let expect_crash_on_failure = !args.is_present(DISABLE_EXPECT_CRASH_ON_FAILURE);
|
||||
|
@ -35,9 +35,9 @@ const PROC_INFO_PERIOD: Duration = Duration::from_secs(30);
|
||||
// Period of reporting fuzzer-generated runtime stats.
|
||||
const RUNTIME_STATS_PERIOD: Duration = Duration::from_secs(60);
|
||||
|
||||
pub fn default_workers() -> u64 {
|
||||
let cpus = num_cpus::get() as u64;
|
||||
u64::max(1, cpus - 1)
|
||||
pub fn default_workers() -> usize {
|
||||
let cpus = num_cpus::get();
|
||||
usize::max(1, cpus - 1)
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, Clone)]
|
||||
@ -50,7 +50,7 @@ pub struct Config {
|
||||
pub target_options: Vec<String>,
|
||||
|
||||
#[serde(default = "default_workers")]
|
||||
pub target_workers: u64,
|
||||
pub target_workers: usize,
|
||||
pub ensemble_sync_delay: Option<u64>,
|
||||
|
||||
#[serde(default = "default_bool_true")]
|
||||
@ -72,7 +72,7 @@ impl LibFuzzerFuzzTask {
|
||||
Ok(Self { config })
|
||||
}
|
||||
|
||||
fn workers(&self) -> u64 {
|
||||
fn workers(&self) -> usize {
|
||||
match self.config.target_workers {
|
||||
0 => default_workers(),
|
||||
x => x,
|
||||
@ -95,7 +95,7 @@ impl LibFuzzerFuzzTask {
|
||||
let new_crashes = self.config.crashes.monitor_results(new_result, true);
|
||||
|
||||
let (stats_sender, stats_receiver) = mpsc::unbounded_channel();
|
||||
let report_stats = report_runtime_stats(self.workers() as usize, stats_receiver, hb_client);
|
||||
let report_stats = report_runtime_stats(self.workers(), stats_receiver, hb_client);
|
||||
let fuzzers = self.run_fuzzers(Some(&stats_sender));
|
||||
futures::try_join!(resync, new_inputs, new_crashes, fuzzers, report_stats)?;
|
||||
|
||||
@ -145,7 +145,7 @@ impl LibFuzzerFuzzTask {
|
||||
// or discovered fault. The monitor restarts the libFuzzer when it exits.
|
||||
pub async fn start_fuzzer_monitor(
|
||||
&self,
|
||||
worker_id: u64,
|
||||
worker_id: usize,
|
||||
stats_sender: Option<&StatsSender>,
|
||||
) -> Result<()> {
|
||||
let local_input_dir = self.create_local_temp_dir().await?;
|
||||
@ -175,7 +175,7 @@ impl LibFuzzerFuzzTask {
|
||||
async fn run_fuzzer(
|
||||
&self,
|
||||
local_inputs: impl AsRef<std::path::Path>,
|
||||
worker_id: u64,
|
||||
worker_id: usize,
|
||||
stats_sender: Option<&StatsSender>,
|
||||
) -> Result<()> {
|
||||
let crash_dir = self.create_local_temp_dir().await?;
|
||||
@ -278,7 +278,7 @@ impl LibFuzzerFuzzTask {
|
||||
|
||||
fn try_report_iter_update(
|
||||
stats_sender: &StatsSender,
|
||||
worker_id: u64,
|
||||
worker_id: usize,
|
||||
run_id: Uuid,
|
||||
line: &str,
|
||||
) -> Result<()> {
|
||||
@ -294,7 +294,7 @@ fn try_report_iter_update(
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn report_fuzzer_sys_info(worker_id: u64, run_id: Uuid, fuzzer_pid: u32) -> Result<()> {
|
||||
async fn report_fuzzer_sys_info(worker_id: usize, run_id: Uuid, fuzzer_pid: u32) -> Result<()> {
|
||||
loop {
|
||||
system::refresh()?;
|
||||
|
||||
@ -325,7 +325,7 @@ async fn report_fuzzer_sys_info(worker_id: u64, run_id: Uuid, fuzzer_pid: u32) -
|
||||
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
pub struct RuntimeStats {
|
||||
worker_id: u64,
|
||||
worker_id: usize,
|
||||
run_id: Uuid,
|
||||
count: u64,
|
||||
execs_sec: f64,
|
||||
|
Reference in New Issue
Block a user