/-- 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