mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 17:34:43 +00:00
33 lines
630 B
Nim
33 lines
630 B
Nim
discard """
|
|
file: "passenv.nim"
|
|
output: "123"
|
|
targets: "c cpp objc"
|
|
"""
|
|
|
|
import osproc, os, strtabs
|
|
|
|
# Checks that the environment is passed correctly in startProcess
|
|
# To do that launches a copy of itself with a new environment.
|
|
|
|
if paramCount() == 0:
|
|
# Parent process
|
|
|
|
let env = newStringTable()
|
|
env["A"] = "1"
|
|
env["B"] = "2"
|
|
env["C"] = "3"
|
|
|
|
let p = startProcess(
|
|
getAppFilename(),
|
|
args = @["child"],
|
|
env = env,
|
|
options = {poStdErrToStdOut, poUsePath, poParentStreams}
|
|
)
|
|
|
|
discard p.waitForExit
|
|
|
|
else:
|
|
# Child process
|
|
# should output "123"
|
|
echo getEnv("A") & getEnv("B") & getEnv("C")
|