1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
// SPDX-License-Identifier: MPL-2.0
// (c) Hare authors <https://harelang.org>
use io;
use os;
use bufio;
@test fn env() void = {
let cmd = cmd("env")!;
setenv(&cmd, "HARETEST", "vval")!;
const (rd, wr) = pipe();
addfile(&cmd, os::stdout_file, wr)!;
let proc = start(&cmd)!;
io::close(wr)!;
let found = false;
let sc = bufio::newscanner(rd);
for (let l => bufio::scan_line(&sc)!) {
if (l == "HARETEST=vval") {
found = true;
break;
};
};
io::close(rd)!;
wait(&proc)!;
assert(found);
};
@test fn args() void = {
let cmd = cmd("env", "-i", "HARETEST=vval2")!;
const (rd, wr) = pipe();
addfile(&cmd, os::stdout_file, wr)!;
let proc = start(&cmd)!;
io::close(wr)!;
let sc = bufio::newscanner(rd);
for (let l => bufio::scan_line(&sc)!) {
assert(l == "HARETEST=vval2");
};
io::close(rd)!;
wait(&proc)!;
};
|