#1478 Added --show-capture option

This commit is contained in:
feuillemorte
2018-02-06 23:38:51 +03:00
parent 949a620d3a
commit 1a650a9eb9
4 changed files with 22 additions and 8 deletions

View File

@@ -823,18 +823,26 @@ def pytest_report_header(config, startdir):
str(testdir.tmpdir),
])
def test_no_stdout(self, testdir):
def test_show_capture(self, testdir):
testdir.makepyfile("""
import sys
def test_one():
print('!This is stdout!')
sys.stdout.write('!This is stdout!')
sys.stderr.write('!This is stderr!')
assert False, 'Something failed'
""")
result = testdir.runpytest("--tb=short")
result.stdout.fnmatch_lines(["!This is stdout!"])
result.stdout.fnmatch_lines(["!This is stderr!"])
result = testdir.runpytest("--no-stdout", "--tb=short")
result = testdir.runpytest("--show-capture=stdout", "--tb=short")
assert "!This is stderr!" not in result.stdout.str()
assert "!This is stdout!" in result.stdout.str()
result = testdir.runpytest("--show-capture=stderr", "--tb=short")
assert "!This is stdout!" not in result.stdout.str()
assert "!This is stderr!" in result.stdout.str()
@pytest.mark.xfail("not hasattr(os, 'dup')")