lean4-htt/tests/lean/run/emptyEnvVar.lean
Mac Malone ce980895b2
fix: IO.Process.spawn empty env var on Windows (#12220)
This PR fixes a bug on Windows with `IO.Process.spawn` where setting an
environment variable to the empty string would not set the environment
variable on the subprocess.
2026-01-31 19:17:26 +00:00

18 lines
560 B
Text

/--
Tests that spawning a process with a environment variable configured to the
empty string correctly sets the environment variable on the subprocess on
all platforms. Previously, this was broken on Windows.
-/
def test : IO String := do
let var := "TEST_VAR"
let out ← IO.Process.output {
cmd := "printenv"
args := #[var]
env := #[(var, some "")]
}
unless out.exitCode == 0 do
throw <| .userError "environment variable not set"
return out.stdout.trimAsciiEnd.copy -- trim ending newline
/-- info: "" -/
#guard_msgs in #eval test