From cba723fc8c9b76150efc95e54996ad12a9a8cfc6 Mon Sep 17 00:00:00 2001
From: Rami Ali <flowergrass@users.noreply.github.com>
Date: Tue, 17 Jan 2017 13:12:50 +1100
Subject: [PATCH] tests/io: Improve test coverage of io.BufferedWriter.

---
 tests/io/buffered_writer.py      | 6 ++++++
 tests/io/buffered_writer.py.exp  | 1 +
 tests/unix/extra_coverage.py     | 6 ++++++
 tests/unix/extra_coverage.py.exp | 1 +
 4 files changed, 14 insertions(+)

diff --git a/tests/io/buffered_writer.py b/tests/io/buffered_writer.py
index afeaa839c..bb7b4e8db 100644
--- a/tests/io/buffered_writer.py
+++ b/tests/io/buffered_writer.py
@@ -20,3 +20,9 @@ buf.flush()
 print(bts.getvalue())
 buf.flush()
 print(bts.getvalue())
+
+# special case when alloc is a factor of total buffer length
+bts = io.BytesIO()
+buf = io.BufferedWriter(bts, 1)
+buf.write(b"foo")
+print(bts.getvalue())
diff --git a/tests/io/buffered_writer.py.exp b/tests/io/buffered_writer.py.exp
index 1309487e1..d086935a9 100644
--- a/tests/io/buffered_writer.py.exp
+++ b/tests/io/buffered_writer.py.exp
@@ -2,3 +2,4 @@ b''
 b'foobarfo'
 b'foobarfoobar'
 b'foobarfoobar'
+b'foo'
diff --git a/tests/unix/extra_coverage.py b/tests/unix/extra_coverage.py
index 1c4cc6cf0..870e7d5f2 100644
--- a/tests/unix/extra_coverage.py
+++ b/tests/unix/extra_coverage.py
@@ -6,6 +6,7 @@ except NameError:
     sys.exit()
 
 import uerrno
+import uio
 
 data = extra_coverage()
 
@@ -45,6 +46,11 @@ except OSError:
     print('OSError')
 print(stream2.read(1)) # read 1 byte encounters non-blocking error with textio stream
 
+# test BufferedWriter with stream errors
+stream.set_error(uerrno.EAGAIN)
+buf = uio.BufferedWriter(stream, 8)
+print(buf.write(bytearray(16)))
+
 # test basic import of frozen scripts
 import frzstr1
 import frzmpy1
diff --git a/tests/unix/extra_coverage.py.exp b/tests/unix/extra_coverage.py.exp
index 3694d97b4..ac59971a5 100644
--- a/tests/unix/extra_coverage.py.exp
+++ b/tests/unix/extra_coverage.py.exp
@@ -61,6 +61,7 @@ OSError
 0
 OSError
 None
+None
 frzstr1
 frzmpy1
 frzstr_pkg1.__init__
-- 
GitLab