From e8511268c44523b1405c6d77d3c1dbc73751a6ec Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 23 Dec 2020 14:47:43 +0000 Subject: [PATCH] show completions Signed-off-by: Ian Jackson --- wdriver.rs | 22 ++++++++++++++++++---- wdriver/wdt-simple.rs | 2 +- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/wdriver.rs b/wdriver.rs index 9d8e2ecd..6287e9c0 100644 --- a/wdriver.rs +++ b/wdriver.rs @@ -25,6 +25,20 @@ pub use std::time; pub const MS : time::Duration = time::Duration::from_millis(1); pub type AE = anyhow::Error; +pub trait AlwaysContext { + fn always_context(self, msg: &'static str) -> anyhow::Result; +} + +impl AlwaysContext for Result +where Self: anyhow::Context +{ + fn always_context(self, msg: &'static str) -> anyhow::Result { + let x = self.context(msg); + if x.is_ok() { eprintln!("completed {}.", msg) }; + x + } +} + #[derive(Debug,Clone)] #[derive(StructOpt)] struct Opts { @@ -375,13 +389,13 @@ pub fn setup() -> Setup { let cln = cleanup_notify::Handle::new()?; let (tmp, abstmp) = prepare_tmpdir(&opts, ¤t_exe)?; - prepare_xserver(&cln, &abstmp).context("setup X server")?; - prepare_gameserver().context("setup game server")?; + prepare_xserver(&cln, &abstmp).always_context("setup X server")?; + prepare_gameserver().always_context("setup game server")?; let final_hook = FinalInfoCollection; - prepare_geckodriver(&cln).context("setup webdriver serverr")?; - prepare_thirtyfour().context("prepare web session")?; + prepare_geckodriver(&cln).always_context("setup webdriver serverr")?; + prepare_thirtyfour().always_context("prepare web session")?; Setup { tmp, diff --git a/wdriver/wdt-simple.rs b/wdriver/wdt-simple.rs index 8411ebf1..c2692c9c 100644 --- a/wdriver/wdt-simple.rs +++ b/wdriver/wdt-simple.rs @@ -6,7 +6,7 @@ use otter_webdriver_tests::*; #[throws(AE)] fn main(){ - let s = setup()?; + let s = setup().always_context("setup")?; println!("hi! {:#?}", &s); -- 2.30.2