From: Ian Jackson Date: Wed, 23 Dec 2020 00:06:35 +0000 (+0000) Subject: run geckodriver X-Git-Tag: otter-0.2.0~158 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=9b66da6b45c823682c0981e97a610770edd8be8c;p=otter.git run geckodriver But we leak it Signed-off-by: Ian Jackson --- diff --git a/wdriver.rs b/wdriver.rs index 10233c75..3e723b96 100644 --- a/wdriver.rs +++ b/wdriver.rs @@ -166,6 +166,20 @@ fn prepare_xserver() { Box::leak(Box::new(xconn)); } +#[throws(AE)] +fn prepare_geckodriver() { + const EXPECTED : &str = "Listening on 127.0.0.1:4444"; + let cmd = Command::new("geckodriver"); + let l = fork_something_which_prints(cmd).context("geckodriver")?; + let fields : Vec<_> = l.split('\t').skip(2).take(2).collect(); + let expected = ["INFO", EXPECTED]; + if fields != expected { + throw!(anyhow!("geckodriver did not report as expected \ + - got {:?}, expected {:?}", + fields, &expected)); + } +} + #[throws(AE)] pub fn setup() -> Setup { let current_exe : String = env::current_exe() @@ -183,6 +197,7 @@ pub fn setup() -> Setup { let tmp = prepare_tmpdir(&opts, ¤t_exe)?; prepare_xserver().context("setup X server")?; + prepare_geckodriver().context("setup webdriver serverr")?; Setup { tmp,