summaryrefslogtreecommitdiff
path: root/numpy/compat
diff options
context:
space:
mode:
authorOlivier Grisel <olivier.grisel@ensta.org>2014-06-26 14:49:59 +0200
committerOlivier Grisel <olivier.grisel@ensta.org>2014-06-30 11:12:38 +0200
commit6efd8493f8b491557a34dbbc176565b759f89b52 (patch)
tree4c3f287e0b64b5d17e339444072a5d463c938ed8 /numpy/compat
parent290f192465dc68b9e037ec4c1c2dc6fb522f2fdc (diff)
downloadnumpy-6efd8493f8b491557a34dbbc176565b759f89b52.tar.gz
FIX isfileobj accepts write-mode files under PY3
Diffstat (limited to 'numpy/compat')
-rw-r--r--numpy/compat/py3k.py2
-rw-r--r--numpy/compat/tests/test_compat.py19
2 files changed, 20 insertions, 1 deletions
diff --git a/numpy/compat/py3k.py b/numpy/compat/py3k.py
index f5ac3f9f8..4607d9502 100644
--- a/numpy/compat/py3k.py
+++ b/numpy/compat/py3k.py
@@ -36,7 +36,7 @@ if sys.version_info[0] >= 3:
return str(s)
def isfileobj(f):
- return isinstance(f, (io.FileIO, io.BufferedReader))
+ return isinstance(f, (io.FileIO, io.BufferedReader, io.BufferedWriter))
def open_latin1(filename, mode='r'):
return open(filename, mode=mode, encoding='iso-8859-1')
diff --git a/numpy/compat/tests/test_compat.py b/numpy/compat/tests/test_compat.py
new file mode 100644
index 000000000..3df142e04
--- /dev/null
+++ b/numpy/compat/tests/test_compat.py
@@ -0,0 +1,19 @@
+from os.path import join
+
+from numpy.compat import isfileobj
+from numpy.testing import TestCase, assert_
+from numpy.testing.utils import tempdir
+
+
+def test_isfileobj():
+ with tempdir(prefix="numpy_test_compat_") as folder:
+ filename = join(folder, 'a.bin')
+
+ with open(filename, 'wb') as f:
+ assert_(isfileobj(f))
+
+ with open(filename, 'ab') as f:
+ assert_(isfileobj(f))
+
+ with open(filename, 'rb') as f:
+ assert_(isfileobj(f))