capture tests: move imports and declarations to the top
This commit is contained in:
parent
b4a397d153
commit
0be961a0f3
|
@ -6,9 +6,40 @@ import pytest
|
||||||
|
|
||||||
from _pytest import capture
|
from _pytest import capture
|
||||||
from _pytest.capture import CaptureManager
|
from _pytest.capture import CaptureManager
|
||||||
|
from py.builtin import print_
|
||||||
|
|
||||||
needsosdup = pytest.mark.xfail("not hasattr(os, 'dup')")
|
needsosdup = pytest.mark.xfail("not hasattr(os, 'dup')")
|
||||||
|
|
||||||
|
if sys.version_info >= (3, 0):
|
||||||
|
def tobytes(obj):
|
||||||
|
if isinstance(obj, str):
|
||||||
|
obj = obj.encode('UTF-8')
|
||||||
|
assert isinstance(obj, bytes)
|
||||||
|
return obj
|
||||||
|
|
||||||
|
def totext(obj):
|
||||||
|
if isinstance(obj, bytes):
|
||||||
|
obj = str(obj, 'UTF-8')
|
||||||
|
assert isinstance(obj, str)
|
||||||
|
return obj
|
||||||
|
else:
|
||||||
|
def tobytes(obj):
|
||||||
|
if isinstance(obj, unicode):
|
||||||
|
obj = obj.encode('UTF-8')
|
||||||
|
assert isinstance(obj, str)
|
||||||
|
return obj
|
||||||
|
|
||||||
|
def totext(obj):
|
||||||
|
if isinstance(obj, str):
|
||||||
|
obj = unicode(obj, 'UTF-8')
|
||||||
|
assert isinstance(obj, unicode)
|
||||||
|
return obj
|
||||||
|
|
||||||
|
|
||||||
|
def oswritebytes(fd, obj):
|
||||||
|
os.write(fd, tobytes(obj))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TestCaptureManager:
|
class TestCaptureManager:
|
||||||
def test_getmethod_default_no_fd(self, testdir, monkeypatch):
|
def test_getmethod_default_no_fd(self, testdir, monkeypatch):
|
||||||
|
@ -532,41 +563,6 @@ def test_capture_binary_output(testdir):
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
needsdup = pytest.mark.skipif("not hasattr(os, 'dup')")
|
|
||||||
|
|
||||||
from py.builtin import print_
|
|
||||||
|
|
||||||
|
|
||||||
if sys.version_info >= (3, 0):
|
|
||||||
def tobytes(obj):
|
|
||||||
if isinstance(obj, str):
|
|
||||||
obj = obj.encode('UTF-8')
|
|
||||||
assert isinstance(obj, bytes)
|
|
||||||
return obj
|
|
||||||
|
|
||||||
def totext(obj):
|
|
||||||
if isinstance(obj, bytes):
|
|
||||||
obj = str(obj, 'UTF-8')
|
|
||||||
assert isinstance(obj, str)
|
|
||||||
return obj
|
|
||||||
else:
|
|
||||||
def tobytes(obj):
|
|
||||||
if isinstance(obj, unicode):
|
|
||||||
obj = obj.encode('UTF-8')
|
|
||||||
assert isinstance(obj, str)
|
|
||||||
return obj
|
|
||||||
|
|
||||||
def totext(obj):
|
|
||||||
if isinstance(obj, str):
|
|
||||||
obj = unicode(obj, 'UTF-8')
|
|
||||||
assert isinstance(obj, unicode)
|
|
||||||
return obj
|
|
||||||
|
|
||||||
|
|
||||||
def oswritebytes(fd, obj):
|
|
||||||
os.write(fd, tobytes(obj))
|
|
||||||
|
|
||||||
|
|
||||||
class TestTextIO:
|
class TestTextIO:
|
||||||
def test_text(self):
|
def test_text(self):
|
||||||
f = capture.TextIO()
|
f = capture.TextIO()
|
||||||
|
@ -614,7 +610,7 @@ def pytest_funcarg__tmpfile(request):
|
||||||
return f
|
return f
|
||||||
|
|
||||||
|
|
||||||
@needsdup
|
@needsosdup
|
||||||
def test_dupfile(tmpfile):
|
def test_dupfile(tmpfile):
|
||||||
flist = []
|
flist = []
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
|
@ -661,7 +657,7 @@ def lsof_check(func):
|
||||||
|
|
||||||
|
|
||||||
class TestFDCapture:
|
class TestFDCapture:
|
||||||
pytestmark = needsdup
|
pytestmark = needsosdup
|
||||||
|
|
||||||
def test_not_now(self, tmpfile):
|
def test_not_now(self, tmpfile):
|
||||||
fd = tmpfile.fileno()
|
fd = tmpfile.fileno()
|
||||||
|
@ -887,7 +883,7 @@ class TestStdCaptureNotNow(TestStdCapture):
|
||||||
|
|
||||||
|
|
||||||
class TestStdCaptureFD(TestStdCapture):
|
class TestStdCaptureFD(TestStdCapture):
|
||||||
pytestmark = needsdup
|
pytestmark = needsosdup
|
||||||
|
|
||||||
def getcapture(self, **kw):
|
def getcapture(self, **kw):
|
||||||
return capture.StdCaptureFD(**kw)
|
return capture.StdCaptureFD(**kw)
|
||||||
|
@ -926,7 +922,7 @@ class TestStdCaptureFD(TestStdCapture):
|
||||||
|
|
||||||
|
|
||||||
class TestStdCaptureFDNotNow(TestStdCaptureFD):
|
class TestStdCaptureFDNotNow(TestStdCaptureFD):
|
||||||
pytestmark = needsdup
|
pytestmark = needsosdup
|
||||||
|
|
||||||
def getcapture(self, **kw):
|
def getcapture(self, **kw):
|
||||||
kw['now'] = False
|
kw['now'] = False
|
||||||
|
@ -935,7 +931,7 @@ class TestStdCaptureFDNotNow(TestStdCaptureFD):
|
||||||
return cap
|
return cap
|
||||||
|
|
||||||
|
|
||||||
@needsdup
|
@needsosdup
|
||||||
def test_stdcapture_fd_tmpfile(tmpfile):
|
def test_stdcapture_fd_tmpfile(tmpfile):
|
||||||
capfd = capture.StdCaptureFD(out=tmpfile)
|
capfd = capture.StdCaptureFD(out=tmpfile)
|
||||||
os.write(1, "hello".encode("ascii"))
|
os.write(1, "hello".encode("ascii"))
|
||||||
|
@ -945,7 +941,7 @@ def test_stdcapture_fd_tmpfile(tmpfile):
|
||||||
|
|
||||||
|
|
||||||
class TestStdCaptureFDinvalidFD:
|
class TestStdCaptureFDinvalidFD:
|
||||||
pytestmark = needsdup
|
pytestmark = needsosdup
|
||||||
|
|
||||||
def test_stdcapture_fd_invalid_fd(self, testdir):
|
def test_stdcapture_fd_invalid_fd(self, testdir):
|
||||||
testdir.makepyfile("""
|
testdir.makepyfile("""
|
||||||
|
@ -976,7 +972,7 @@ def test_capture_not_started_but_reset():
|
||||||
capsys.reset()
|
capsys.reset()
|
||||||
|
|
||||||
|
|
||||||
@needsdup
|
@needsosdup
|
||||||
def test_capture_no_sys():
|
def test_capture_no_sys():
|
||||||
capsys = capture.StdCapture()
|
capsys = capture.StdCapture()
|
||||||
try:
|
try:
|
||||||
|
@ -992,7 +988,7 @@ def test_capture_no_sys():
|
||||||
capsys.reset()
|
capsys.reset()
|
||||||
|
|
||||||
|
|
||||||
@needsdup
|
@needsosdup
|
||||||
def test_callcapture_nofd():
|
def test_callcapture_nofd():
|
||||||
def func(x, y):
|
def func(x, y):
|
||||||
oswritebytes(1, "hello")
|
oswritebytes(1, "hello")
|
||||||
|
@ -1011,7 +1007,7 @@ def test_callcapture_nofd():
|
||||||
assert err.startswith("4")
|
assert err.startswith("4")
|
||||||
|
|
||||||
|
|
||||||
@needsdup
|
@needsosdup
|
||||||
@pytest.mark.parametrize('use', [True, False])
|
@pytest.mark.parametrize('use', [True, False])
|
||||||
def test_fdcapture_tmpfile_remains_the_same(tmpfile, use):
|
def test_fdcapture_tmpfile_remains_the_same(tmpfile, use):
|
||||||
if not use:
|
if not use:
|
||||||
|
|
Loading…
Reference in New Issue