Merge pull request #2313 from nicoddemus/DontReadFromInput-exceptions

Dont read from input exceptions
This commit is contained in:
Bruno Oliveira 2017-03-15 10:51:13 -03:00 committed by GitHub
commit 76df77418d
4 changed files with 15 additions and 4 deletions

View File

@ -6,6 +6,7 @@ Contributors include::
Abdeali JK Abdeali JK
Abhijeet Kasurde Abhijeet Kasurde
Ahn Ki-Wook Ahn Ki-Wook
Alexander Johnson
Alexei Kozlenok Alexei Kozlenok
Anatoly Bubenkoff Anatoly Bubenkoff
Andreas Zeidler Andreas Zeidler

View File

@ -1,7 +1,9 @@
3.0.8 (unreleased) 3.0.8 (unreleased)
================== ==================
* * Change capture.py's ``DontReadFromInput`` class to throw ``io.UnsupportedOperation`` errors rather
than ValueErrors in the ``fileno`` method (`#2276`_).
Thanks `@metasyn`_ for the PR.
* *
@ -12,13 +14,19 @@
* *
.. _@metasyn: https://github.com/metasyn
.. _#2276: https://github.com/pytest-dev/pytest/issues/2276
3.0.7 (2017-03-14) 3.0.7 (2017-03-14)
================== ==================
* Fix issue in assertion rewriting breaking due to modules silently discarding * Fix issue in assertion rewriting breaking due to modules silently discarding
other modules when importing fails other modules when importing fails
Notably, importing the `anydbm` module is fixed. (`#2248`_). Notably, importing the ``anydbm`` module is fixed. (`#2248`_).
Thanks `@pfhayes`_ for the PR. Thanks `@pfhayes`_ for the PR.
* junitxml: Fix problematic case where system-out tag occured twice per testcase * junitxml: Fix problematic case where system-out tag occured twice per testcase

View File

@ -13,6 +13,7 @@ import py
import pytest import pytest
from py.io import TextIO from py.io import TextIO
from io import UnsupportedOperation
unicode = py.builtin.text unicode = py.builtin.text
patchsysdict = {0: 'stdin', 1: 'stdout', 2: 'stderr'} patchsysdict = {0: 'stdin', 1: 'stdout', 2: 'stderr'}
@ -448,7 +449,7 @@ class DontReadFromInput:
__iter__ = read __iter__ = read
def fileno(self): def fileno(self):
raise ValueError("redirected Stdin is pseudofile, has no fileno()") raise UnsupportedOperation("redirected Stdin is pseudofile, has no fileno()")
def isatty(self): def isatty(self):
return False return False

View File

@ -4,6 +4,7 @@ from __future__ import with_statement
import pickle import pickle
import os import os
import sys import sys
from io import UnsupportedOperation
import _pytest._code import _pytest._code
import py import py
@ -658,7 +659,7 @@ def test_dontreadfrominput():
pytest.raises(IOError, f.read) pytest.raises(IOError, f.read)
pytest.raises(IOError, f.readlines) pytest.raises(IOError, f.readlines)
pytest.raises(IOError, iter, f) pytest.raises(IOError, iter, f)
pytest.raises(ValueError, f.fileno) pytest.raises(UnsupportedOperation, f.fileno)
f.close() # just for completeness f.close() # just for completeness