]> git.proxmox.com Git - cargo.git/commitdiff
test: minimal shell quote supoort for cargo-test-support
authorWeihang Lo <me@weihanglo.tw>
Sun, 4 Oct 2020 14:55:50 +0000 (22:55 +0800)
committerWeihang Lo <me@weihanglo.tw>
Sun, 4 Oct 2020 14:55:50 +0000 (22:55 +0800)
crates/cargo-test-support/src/lib.rs

index d53ecbc24f4b232ac2ad688169252a536503ca37..28265e1de5b8e07cc74915b606e4b095f9a4d406 100644 (file)
@@ -1637,8 +1637,12 @@ impl ChannelChanger for cargo::util::ProcessBuilder {
 }
 
 fn split_and_add_args(p: &mut ProcessBuilder, s: &str) {
-    for arg in s.split_whitespace() {
-        if arg.contains('"') || arg.contains('\'') {
+    for mut arg in s.split_whitespace() {
+        if (arg.starts_with('"') && arg.ends_with('"'))
+            || (arg.starts_with('\'') && arg.ends_with('\''))
+        {
+            arg = &arg[1..(arg.len() - 1).max(1)];
+        } else if arg.contains(&['"', '\''][..]) {
             panic!("shell-style argument parsing is not supported")
         }
         p.arg(arg);