Skip to content

Commit b0ee43d

Browse files
committed
Add associated test.
1 parent c97ade0 commit b0ee43d

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

tests/tests_e3/os/process/main_test.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import os
22
import sys
3+
import subprocess
34
import textwrap
45
import time
56

@@ -17,6 +18,28 @@
1718
psutil = None
1819

1920

21+
def test_run_stdout_stderr():
22+
"""Check Run with partial redirection.
23+
24+
Verify that Run is working when stdout is redirected to a file and
25+
stderr not redirected to stdout.
26+
"""
27+
prog_filename = os.path.join(os.getcwd(), "prog")
28+
with open(prog_filename, "wb") as f:
29+
f.write(b"import sys\n")
30+
f.write(b'print("stdout", file=sys.stdout)\n')
31+
f.write(b'print("stderr", file=sys.stderr)\n')
32+
e3.os.fs.chmod("a+x", prog_filename)
33+
p = e3.os.process.Run([sys.executable, prog_filename], error=subprocess.PIPE)
34+
assert p.out.replace("\r", "") == "stdout\n"
35+
assert p.err.replace("\r", "") == "stderr\n"
36+
p = e3.os.process.Run(
37+
[sys.executable, prog_filename], output="text.txt", error=subprocess.PIPE
38+
)
39+
assert os.path.isfile("text.txt")
40+
assert p.err.replace("\r", "") == "stderr\n"
41+
42+
2043
def test_run_shebang(caplog):
2144
"""Verify that the parse shebang option works."""
2245
prog_filename = os.path.join(os.getcwd(), "prog")

0 commit comments

Comments
 (0)