diff --git a/tests/io/buffered_writer.py b/tests/io/buffered_writer.py
index afeaa839c1aefc2dc45e5f9f15c6781b7750c999..bb7b4e8dba12cd62cecb9b4b566e0a095123e389 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 1309487e14189e2a96b50a9e6b7219230267e245..d086935a9204231c75a8a25506973829bf0e857b 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 1c4cc6cf04a1371cc95fed976d04c63dc7726ae9..870e7d5f22ce7eecfc02feb6887010a1214831ab 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 3694d97b4bb354217bf63c9e9227a67cebf2adf6..ac59971a50808d2474e1174723a78b8deadc8501 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__