diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-08-08 15:29:31 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-08-08 15:29:31 -0400 |
commit | 63531c243d3b51f1b6d7bf931243a2d340921a5b (patch) | |
tree | 06b6075d117e53012e83d26988b26d5280434d4a /src/bin/get-test-duration.rs | |
parent | 7ad6f4160d7ace156ec046705654da8ff50338bf (diff) |
ci-web: get-test-duration
new bin for debugging the test duration table
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'src/bin/get-test-duration.rs')
-rw-r--r-- | src/bin/get-test-duration.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/bin/get-test-duration.rs b/src/bin/get-test-duration.rs new file mode 100644 index 0000000..79dc819 --- /dev/null +++ b/src/bin/get-test-duration.rs @@ -0,0 +1,30 @@ +use std::fs::File; +use memmap::MmapOptions; +use std::process; +use ci_cgi::{ciconfig_read, test_duration}; +use clap::Parser; + +#[derive(Parser)] +#[command(author, version, about, long_about = None)] +struct Args { + test: String, + subtest: String, +} + +fn main() { + let args = Args::parse(); + + let rc = ciconfig_read(); + if let Err(e) = rc { + eprintln!("could not read config; {}", e); + process::exit(1); + } + let rc = rc.unwrap(); + let rc = rc.ktest; + + let durations_file = File::open(rc.output_dir.join("test_durations.capnp")).ok(); + let durations_map = durations_file.map(|x| unsafe { MmapOptions::new().map(&x).ok() } ).flatten(); + let durations = durations_map.as_ref().map(|x| x.as_ref()); + + println!("{:?}", test_duration(durations, &args.test, &args.subtest)); +} |