From: Ian Jackson Date: Wed, 23 Dec 2020 14:47:43 +0000 (+0000) Subject: show completions X-Git-Tag: otter-0.2.0~146 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=e8511268c44523b1405c6d77d3c1dbc73751a6ec;p=otter.git show completions Signed-off-by: Ian Jackson --- 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);