diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index 2e9b8a28019..bfe825d276b 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -30,6 +30,7 @@ rouille = { version = "3.0.0", default-features = false } serde = { version = "1.0", features = ['derive'] } serde_derive = "1.0" serde_json = "1.0" +shlex = "1.3.0" tempfile = "3.0" ureq = { version = "2.7", default-features = false, features = ["brotli", "gzip"] } walrus = "0.23" diff --git a/crates/cli/src/bin/wasm-bindgen-test-runner/headless.rs b/crates/cli/src/bin/wasm-bindgen-test-runner/headless.rs index d39229312b2..f76d6b8f0b7 100644 --- a/crates/cli/src/bin/wasm-bindgen-test-runner/headless.rs +++ b/crates/cli/src/bin/wasm-bindgen-test-runner/headless.rs @@ -251,11 +251,13 @@ impl Driver { /// extra arguments to the driver's invocation. fn find() -> Result { let env_args = |name: &str| { - env::var(format!("{}_ARGS", name.to_uppercase())) - .unwrap_or_default() - .split_whitespace() - .map(|s| s.to_string()) - .collect::>() + let var = env::var(format!("{}_ARGS", name.to_uppercase())).unwrap_or_default(); + + shlex::split(&var).unwrap_or_else(|| { + var.split_whitespace() + .map(|s| s.to_string()) + .collect::>() + }) }; let drivers = [