diff --git a/src/export/markdown.rs b/src/export/markdown.rs index 1fa7b78..302915f 100644 --- a/src/export/markdown.rs +++ b/src/export/markdown.rs @@ -89,35 +89,34 @@ fn test_markdown_format_ms() { use std::collections::BTreeMap; let exporter = MarkdownExporter::default(); - let mut timing_results = vec![]; - - timing_results.push(BenchmarkResult::new( - String::from("sleep 0.1"), - 0.1057, // mean - 0.0016, // std dev - 0.1057, // median - 0.0009, // user_mean - 0.0011, // system_mean - 0.1023, // min - 0.1080, // max - vec![0.1, 0.1, 0.1], // times - vec![Some(0), Some(0), Some(0)], // exit codes - BTreeMap::new(), // parameter - )); - - timing_results.push(BenchmarkResult::new( - String::from("sleep 2"), - 2.0050, // mean - 0.0020, // std dev - 2.0050, // median - 0.0009, // user_mean - 0.0012, // system_mean - 2.0020, // min - 2.0080, // max - vec![2.0, 2.0, 2.0], // times - vec![Some(0), Some(0), Some(0)], // exit codes - BTreeMap::new(), // parameter - )); + let timing_results = vec![ + BenchmarkResult::new( + String::from("sleep 0.1"), + 0.1057, // mean + 0.0016, // std dev + 0.1057, // median + 0.0009, // user_mean + 0.0011, // system_mean + 0.1023, // min + 0.1080, // max + vec![0.1, 0.1, 0.1], // times + vec![Some(0), Some(0), Some(0)], // exit codes + BTreeMap::new(), // parameter + ), + BenchmarkResult::new( + String::from("sleep 2"), + 2.0050, // mean + 0.0020, // std dev + 2.0050, // median + 0.0009, // user_mean + 0.0012, // system_mean + 2.0020, // min + 2.0080, // max + vec![2.0, 2.0, 2.0], // times + vec![Some(0), Some(0), Some(0)], // exit codes + BTreeMap::new(), // parameter + ), + ]; let formatted = String::from_utf8(exporter.serialize(&timing_results, None).unwrap()).unwrap(); @@ -139,35 +138,34 @@ fn test_markdown_format_s() { use std::collections::BTreeMap; let exporter = MarkdownExporter::default(); - let mut timing_results = vec![]; - - timing_results.push(BenchmarkResult::new( - String::from("sleep 2"), - 2.0050, // mean - 0.0020, // std dev - 2.0050, // median - 0.0009, // user_mean - 0.0012, // system_mean - 2.0020, // min - 2.0080, // max - vec![2.0, 2.0, 2.0], // times - vec![Some(0), Some(0), Some(0)], // exit codes - BTreeMap::new(), // parameter - )); - - timing_results.push(BenchmarkResult::new( - String::from("sleep 0.1"), - 0.1057, // mean - 0.0016, // std dev - 0.1057, // median - 0.0009, // user_mean - 0.0011, // system_mean - 0.1023, // min - 0.1080, // max - vec![0.1, 0.1, 0.1], // times - vec![Some(0), Some(0), Some(0)], // exit codes - BTreeMap::new(), // parameter - )); + let timing_results = vec![ + BenchmarkResult::new( + String::from("sleep 2"), + 2.0050, // mean + 0.0020, // std dev + 2.0050, // median + 0.0009, // user_mean + 0.0012, // system_mean + 2.0020, // min + 2.0080, // max + vec![2.0, 2.0, 2.0], // times + vec![Some(0), Some(0), Some(0)], // exit codes + BTreeMap::new(), // parameter + ), + BenchmarkResult::new( + String::from("sleep 0.1"), + 0.1057, // mean + 0.0016, // std dev + 0.1057, // median + 0.0009, // user_mean + 0.0011, // system_mean + 0.1023, // min + 0.1080, // max + vec![0.1, 0.1, 0.1], // times + vec![Some(0), Some(0), Some(0)], // exit codes + BTreeMap::new(), // parameter + ), + ]; let formatted = String::from_utf8(exporter.serialize(&timing_results, None).unwrap()).unwrap(); @@ -188,35 +186,34 @@ fn test_markdown_format_time_unit_s() { use std::collections::BTreeMap; let exporter = MarkdownExporter::default(); - let mut timing_results = vec![]; - - timing_results.push(BenchmarkResult::new( - String::from("sleep 0.1"), - 0.1057, // mean - 0.0016, // std dev - 0.1057, // median - 0.0009, // user_mean - 0.0011, // system_mean - 0.1023, // min - 0.1080, // max - vec![0.1, 0.1, 0.1], // times - vec![Some(0), Some(0), Some(0)], // exit codes - BTreeMap::new(), // parameter - )); - - timing_results.push(BenchmarkResult::new( - String::from("sleep 2"), - 2.0050, // mean - 0.0020, // std dev - 2.0050, // median - 0.0009, // user_mean - 0.0012, // system_mean - 2.0020, // min - 2.0080, // max - vec![2.0, 2.0, 2.0], // times - vec![Some(0), Some(0), Some(0)], // exit codes - BTreeMap::new(), // parameter - )); + let timing_results = vec![ + BenchmarkResult::new( + String::from("sleep 0.1"), + 0.1057, // mean + 0.0016, // std dev + 0.1057, // median + 0.0009, // user_mean + 0.0011, // system_mean + 0.1023, // min + 0.1080, // max + vec![0.1, 0.1, 0.1], // times + vec![Some(0), Some(0), Some(0)], // exit codes + BTreeMap::new(), // parameter + ), + BenchmarkResult::new( + String::from("sleep 2"), + 2.0050, // mean + 0.0020, // std dev + 2.0050, // median + 0.0009, // user_mean + 0.0012, // system_mean + 2.0020, // min + 2.0080, // max + vec![2.0, 2.0, 2.0], // times + vec![Some(0), Some(0), Some(0)], // exit codes + BTreeMap::new(), // parameter + ), + ]; let formatted = String::from_utf8( exporter @@ -243,35 +240,34 @@ fn test_markdown_format_time_unit_ms() { use std::collections::BTreeMap; let exporter = MarkdownExporter::default(); - let mut timing_results = vec![]; - - timing_results.push(BenchmarkResult::new( - String::from("sleep 2"), - 2.0050, // mean - 0.0020, // std dev - 2.0050, // median - 0.0009, // user_mean - 0.0012, // system_mean - 2.0020, // min - 2.0080, // max - vec![2.0, 2.0, 2.0], // times - vec![Some(0), Some(0), Some(0)], // exit codes - BTreeMap::new(), // parameter - )); - - timing_results.push(BenchmarkResult::new( - String::from("sleep 0.1"), - 0.1057, // mean - 0.0016, // std dev - 0.1057, // median - 0.0009, // user_mean - 0.0011, // system_mean - 0.1023, // min - 0.1080, // max - vec![0.1, 0.1, 0.1], // times - vec![Some(0), Some(0), Some(0)], // exit codes - BTreeMap::new(), // parameter - )); + let timing_results = vec![ + BenchmarkResult::new( + String::from("sleep 2"), + 2.0050, // mean + 0.0020, // std dev + 2.0050, // median + 0.0009, // user_mean + 0.0012, // system_mean + 2.0020, // min + 2.0080, // max + vec![2.0, 2.0, 2.0], // times + vec![Some(0), Some(0), Some(0)], // exit codes + BTreeMap::new(), // parameter + ), + BenchmarkResult::new( + String::from("sleep 0.1"), + 0.1057, // mean + 0.0016, // std dev + 0.1057, // median + 0.0009, // user_mean + 0.0011, // system_mean + 0.1023, // min + 0.1080, // max + vec![0.1, 0.1, 0.1], // times + vec![Some(0), Some(0), Some(0)], // exit codes + BTreeMap::new(), // parameter + ), + ]; let formatted = String::from_utf8( exporter diff --git a/src/export/mod.rs b/src/export/mod.rs index c4dc887..7b854e8 100644 --- a/src/export/mod.rs +++ b/src/export/mod.rs @@ -84,6 +84,13 @@ impl ExportManager { } } +impl Default for ExportManager { + /// Create a new default ExportManager + fn default() -> Self { + ExportManager::new() + } +} + /// Write the given content to a file with the specified name fn write_to_file(filename: &str, content: &[u8]) -> Result<()> { let mut file = OpenOptions::new().write(true).open(filename)?; diff --git a/src/main.rs b/src/main.rs index cfd933a..434f35d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -386,22 +386,22 @@ fn test_build_commands_cross_product() { let matches = get_arg_matches(vec![ "hyperfine", "-L", - "foo", + "par1", "a,b", "-L", - "bar", + "par2", "z,y", - "echo {foo} {bar}", - "printf '%s\n' {foo} {bar}", + "echo {par1} {par2}", + "printf '%s\n' {par1} {par2}", ]); let result = build_commands(&matches); - // Iteration order: command list first, then parameters in listed order (here, "foo" before - // "bar", which is distinct from their sorted order), with parameter values in listed order. + // Iteration order: command list first, then parameters in listed order (here, "par1" before + // "par2", which is distinct from their sorted order), with parameter values in listed order. let pv = |s: &str| ParameterValue::Text(s.to_string()); - let cmd = |cmd: usize, foo: &str, bar: &str| { - let expression = ["echo {foo} {bar}", "printf '%s\n' {foo} {bar}"][cmd]; - let params = vec![("foo", pv(foo)), ("bar", pv(bar))]; + let cmd = |cmd: usize, par1: &str, par2: &str| { + let expression = ["echo {par1} {par2}", "printf '%s\n' {par1} {par2}"][cmd]; + let params = vec![("par1", pv(par1)), ("par2", pv(par2))]; Command::new_parametrized(None, expression, params) }; let expected = vec![