Merge pull request #7029 from blueyed/fix-test_popen_default_stdin_stderr_and_stdin_None-upstream
Fix `test_popen_default_stdin_stderr_and_stdin_None` when run with `-s`
This commit is contained in:
commit
b4c46da278
|
@ -679,19 +679,30 @@ def test_popen_default_stdin_stderr_and_stdin_None(testdir) -> None:
|
||||||
# stdout, stderr default to pipes,
|
# stdout, stderr default to pipes,
|
||||||
# stdin can be None to not close the pipe, avoiding
|
# stdin can be None to not close the pipe, avoiding
|
||||||
# "ValueError: flush of closed file" with `communicate()`.
|
# "ValueError: flush of closed file" with `communicate()`.
|
||||||
|
#
|
||||||
|
# Wraps the test to make it not hang when run with "-s".
|
||||||
p1 = testdir.makepyfile(
|
p1 = testdir.makepyfile(
|
||||||
"""
|
'''
|
||||||
import sys
|
import sys
|
||||||
print(sys.stdin.read()) # empty
|
|
||||||
print('stdout')
|
def test_inner(testdir):
|
||||||
sys.stderr.write('stderr')
|
p1 = testdir.makepyfile(
|
||||||
"""
|
"""
|
||||||
|
import sys
|
||||||
|
print(sys.stdin.read()) # empty
|
||||||
|
print('stdout')
|
||||||
|
sys.stderr.write('stderr')
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
proc = testdir.popen([sys.executable, str(p1)], stdin=None)
|
||||||
|
stdout, stderr = proc.communicate(b"ignored")
|
||||||
|
assert stdout.splitlines() == [b"", b"stdout"]
|
||||||
|
assert stderr.splitlines() == [b"stderr"]
|
||||||
|
assert proc.returncode == 0
|
||||||
|
'''
|
||||||
)
|
)
|
||||||
proc = testdir.popen([sys.executable, str(p1)], stdin=None)
|
result = testdir.runpytest("-p", "pytester", str(p1))
|
||||||
stdout, stderr = proc.communicate(b"ignored")
|
assert result.ret == 0
|
||||||
assert stdout.splitlines() == [b"", b"stdout"]
|
|
||||||
assert stderr.splitlines() == [b"stderr"]
|
|
||||||
assert proc.returncode == 0
|
|
||||||
|
|
||||||
|
|
||||||
def test_spawn_uses_tmphome(testdir) -> None:
|
def test_spawn_uses_tmphome(testdir) -> None:
|
||||||
|
|
Loading…
Reference in New Issue