Add tests for env var passing

This commit is contained in:
Ayaz Hafiz 2022-10-05 14:36:34 -05:00
parent 5d8f04575e
commit 73210469db
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58
4 changed files with 47 additions and 23 deletions

View file

@ -22,7 +22,7 @@ pub struct Out {
pub status: ExitStatus,
}
pub fn run_roc<I, S>(args: I, stdin_vals: &[&str]) -> Out
pub fn run_roc<I, S>(args: I, stdin_vals: &[&str], extra_env: &[(&str, &str)]) -> Out
where
I: IntoIterator<Item = S>,
S: AsRef<OsStr>,
@ -62,7 +62,7 @@ where
}
}
run_with_stdin(&roc_binary_path, args, stdin_vals)
run_with_stdin_and_env(&roc_binary_path, args, stdin_vals, extra_env)
}
pub fn run_glue<I, S>(args: I) -> Out
@ -118,6 +118,19 @@ pub fn strip_colors(str: &str) -> String {
}
pub fn run_with_stdin<I, S>(path: &Path, args: I, stdin_vals: &[&str]) -> Out
where
I: IntoIterator<Item = S>,
S: AsRef<OsStr>,
{
run_with_stdin_and_env(path, args, stdin_vals, &[])
}
pub fn run_with_stdin_and_env<I, S>(
path: &Path,
args: I,
stdin_vals: &[&str],
extra_env: &[(&str, &str)],
) -> Out
where
I: IntoIterator<Item = S>,
S: AsRef<OsStr>,
@ -128,6 +141,10 @@ where
cmd.arg(arg);
}
for (k, v) in extra_env {
cmd.env(k, v);
}
let mut child = cmd
.stdin(Stdio::piped())
.stdout(Stdio::piped())