chiark / gitweb /
wip simple test
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 22 Dec 2020 21:35:14 +0000 (21:35 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 22 Dec 2020 21:35:14 +0000 (21:35 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
wdriver.rs
wdriver/simple.rs

index e776ca0d86e12f9e870c31caaa880698565ecead..138c9ec0f56afa1c725b343a85fc98f5c1cc3868 100644 (file)
@@ -5,4 +5,9 @@
 pub use fehler::throws;
 pub use structopt::StructOpt;
 
+pub use std::env;
+pub use std::io::Write;
+pub use std::os::unix::process::CommandExt;
+pub use std::process::Command;
+
 pub type AE = anyhow::Error;
index a33d9d857b980e5bf5b2d7ecc918e63909749197..9f1fa8f77fd355b8eed721cfdfa2d1b96090b62b 100644 (file)
@@ -6,10 +6,29 @@ use otter_webdriver_tests::*;
 
 #[derive(StructOpt)]
 struct Opts {
-  
+  #[structopt(long="--no-bwrap")]
+  no_bwrap: bool,
 }
 
 #[throws(AE)]
 fn main(){
-  
+  let opts = Opts::from_args();
+
+  if !opts.no_bwrap {
+    println!("running bwrap");
+
+    let mut bcmd = Command::new("bwrap");
+    bcmd.args("--unshare-net \
+             --dev-bind / / \
+             --tmpfs /tmp \
+             --die-with-parent".split(" "))
+      .arg(env::current_exe().expect("failed to find current executable"))
+      .arg("--no-bwrap")
+      .args(env::args_os().skip(1));
+
+    std::io::stdout().flush().unwrap();
+    Err(bcmd.exec()).unwrap()
+  }
+
+  println!("hi!");
 }