remove fd-fixing attempt at startup of pytest. It's
not clear it's actually needed and it's not nice to still do FD-dupping when "-s" is specified.
This commit is contained in:
parent
3d00cd35fc
commit
cec7d47c1f
|
@ -25,6 +25,10 @@ Changes between 2.4.1 and 2.4.2
|
||||||
docs.
|
docs.
|
||||||
|
|
||||||
|
|
||||||
|
- remove attempt to "dup" stdout at startup.
|
||||||
|
the normal capturing should catch enough possibilities
|
||||||
|
of tests messing up standard FDs.
|
||||||
|
|
||||||
Changes between 2.4.0 and 2.4.1
|
Changes between 2.4.0 and 2.4.1
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
|
|
||||||
|
|
|
@ -33,25 +33,7 @@ def pytest_addoption(parser):
|
||||||
|
|
||||||
def pytest_configure(config):
|
def pytest_configure(config):
|
||||||
config.option.verbose -= config.option.quiet
|
config.option.verbose -= config.option.quiet
|
||||||
|
reporter = TerminalReporter(config, sys.stdout)
|
||||||
# we try hard to make printing resilient against
|
|
||||||
# later changes on FD level. (unless capturing is off/sys)
|
|
||||||
stdout = sys.stdout
|
|
||||||
if hasattr(os, "dup") and hasattr(stdout, "fileno"):
|
|
||||||
try:
|
|
||||||
newstdout = py.io.dupfile(stdout, buffering=1,
|
|
||||||
encoding=stdout.encoding)
|
|
||||||
except (AttributeError, ValueError):
|
|
||||||
pass
|
|
||||||
else:
|
|
||||||
assert stdout.encoding == newstdout.encoding
|
|
||||||
stdout = newstdout
|
|
||||||
#we don't close on shutdown because this can
|
|
||||||
#cause logging to fail on a second close
|
|
||||||
#(not really clear to me how it happens exactly, though)
|
|
||||||
#config.pluginmanager.add_shutdown(fin)
|
|
||||||
|
|
||||||
reporter = TerminalReporter(config, stdout)
|
|
||||||
config.pluginmanager.register(reporter, 'terminalreporter')
|
config.pluginmanager.register(reporter, 'terminalreporter')
|
||||||
if config.option.debug or config.option.traceconfig:
|
if config.option.debug or config.option.traceconfig:
|
||||||
def mywriter(tags, args):
|
def mywriter(tags, args):
|
||||||
|
|
|
@ -704,14 +704,3 @@ def test_terminal_summary(testdir):
|
||||||
*==== hello ====*
|
*==== hello ====*
|
||||||
world
|
world
|
||||||
""")
|
""")
|
||||||
|
|
||||||
@pytest.mark.xfail("not hasattr(os, 'dup')")
|
|
||||||
def test_fd_fixing(testdir):
|
|
||||||
testdir.makepyfile("""
|
|
||||||
import os
|
|
||||||
os.close(1)
|
|
||||||
def test_fdclose():
|
|
||||||
os.close(2)
|
|
||||||
""")
|
|
||||||
result = testdir.runpytest("-s")
|
|
||||||
result.stdout.fnmatch_lines("*1 pass*")
|
|
||||||
|
|
Loading…
Reference in New Issue