From 727514120333b5eb03b702f1f20d1c8e45ffc118 Mon Sep 17 00:00:00 2001 From: Ethiraric Date: Thu, 11 Jul 2024 21:00:39 +0200 Subject: [PATCH] Add `run_bench` to `Cargo.toml`. --- parser/Cargo.toml | 4 ++++ parser/tools/bench_compare/src/main.rs | 7 ++++--- parser/tools/run_bench.rs | 6 ++---- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/parser/Cargo.toml b/parser/Cargo.toml index 1314351..386b404 100644 --- a/parser/Cargo.toml +++ b/parser/Cargo.toml @@ -43,3 +43,7 @@ path = "tools/dump_events.rs" [[bin]] name = "time_parse" path = "tools/time_parse.rs" + +[[bin]] +name = "run_bench" +path = "tools/run_bench.rs" diff --git a/parser/tools/bench_compare/src/main.rs b/parser/tools/bench_compare/src/main.rs index ac33f9c..c3a8c9e 100644 --- a/parser/tools/bench_compare/src/main.rs +++ b/parser/tools/bench_compare/src/main.rs @@ -1,6 +1,6 @@ use std::{fs::File, io::BufWriter, io::Write, path::Path}; -use anyhow::Error; +use anyhow::{Context, Error}; use serde::{Deserialize, Serialize}; fn main() { @@ -51,11 +51,12 @@ fn run_bench(config: &Config) -> Result<(), Error> { println!("Running {input_basename} against {}", parser.name); // Run benchmark let path = Path::new(&parser.path).join("run_bench"); - let output = std::process::Command::new(path) + let output = std::process::Command::new(&path) .arg(input) .arg(&iterations) .arg("--output-yaml") - .output()?; + .output() + .with_context(|| format!("While running {path:?} against {input}"))?; // Check exit status. if output.status.code().unwrap_or(1) == 0 { let s = String::from_utf8_lossy(&output.stdout); diff --git a/parser/tools/run_bench.rs b/parser/tools/run_bench.rs index f194e35..6d9735e 100644 --- a/parser/tools/run_bench.rs +++ b/parser/tools/run_bench.rs @@ -1,11 +1,9 @@ #![allow(clippy::cast_possible_truncation, clippy::cast_precision_loss)] -use std::{env, fs::File, io::prelude::*}; use saphyr_parser::{ - parser::{MarkedEventReceiver, Parser}, - scanner::Marker, - Event, + Event, Marker, {MarkedEventReceiver, Parser}, }; +use std::{env, fs::File, io::prelude::*}; /// A sink which discards any event sent. struct NullSink {}