Skip to content

Commit

Permalink
Merge branch 'master' into features
Browse files Browse the repository at this point in the history
  • Loading branch information
nicoddemus committed Jul 21, 2017
2 parents 9e3e58a + da12c52 commit abb5d20
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 2 deletions.
2 changes: 2 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ Kevin Cox
Kodi B. Arfer
Lee Kamentsky
Lev Maximov
Llandy Riveron Del Risco
Loic Esteve
Lukas Bednar
Luke Murphy
Expand Down Expand Up @@ -168,3 +169,4 @@ Vitaly Lashmanov
Vlad Dragos
Wouter van Ackooy
Xuecong Liao
Zoltán Máté
10 changes: 9 additions & 1 deletion _pytest/compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,15 @@ def _setup_collect_fakemodule():


if _PY2:
from py.io import TextIO as CaptureIO
# Without this the test_dupfile_on_textio will fail, otherwise CaptureIO could directly inherit from StringIO.
from py.io import TextIO

class CaptureIO(TextIO):

@property
def encoding(self):
return getattr(self, '_encoding', 'UTF-8')

else:
import io

Expand Down
1 change: 1 addition & 0 deletions changelog/2375.trivial
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Provides encoding attribute on CaptureIO.
11 changes: 10 additions & 1 deletion testing/test_capture.py
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ def test_something():
""")
result = testdir.runpytest_subprocess(
p, "--traceconfig",
"-p", "no:capturelog")
"-p", "no:capturelog", "-p", "no:hypothesis", "-p", "no:hypothesispytest")
assert result.ret != 0
result.stdout.fnmatch_lines([
"*hello432*",
Expand Down Expand Up @@ -1040,6 +1040,15 @@ def test_capture_not_started_but_reset():
capsys.stop_capturing()


def test_using_capsys_fixture_works_with_sys_stdout_encoding(capsys):
test_text = 'test text'

print(test_text.encode(sys.stdout.encoding, 'replace'))
(out, err) = capsys.readouterr()
assert out
assert err == ''


@needsosdup
@pytest.mark.parametrize('use', [True, False])
def test_fdcapture_tmpfile_remains_the_same(tmpfile, use):
Expand Down

0 comments on commit abb5d20

Please sign in to comment.