summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/functional/libgfapi-python-tests.py18
-rw-r--r--test/unit/gluster/test_gfapi.py11
2 files changed, 29 insertions, 0 deletions
diff --git a/test/functional/libgfapi-python-tests.py b/test/functional/libgfapi-python-tests.py
index 6840d18..3a0b89e 100644
--- a/test/functional/libgfapi-python-tests.py
+++ b/test/functional/libgfapi-python-tests.py
@@ -502,6 +502,24 @@ class FileOpsTest(unittest.TestCase):
self.vol.symlink(file_name, link_name)
self.assertEqual(self.vol.readlink(link_name), file_name)
+ def test_readinto(self):
+ file_name = uuid4().hex
+ with File(self.vol.open(file_name, os.O_WRONLY | os.O_CREAT)) as f:
+ s = ''.join([str(i) for i in xrange(10)])
+ f.write(s)
+ f.fsync()
+
+ buf = bytearray(1)
+ with File(self.vol.open(file_name, os.O_RDONLY)) as f:
+ for i in xrange(10):
+ # Read one character at a time into buf
+ f.readinto(buf)
+ self.assertEqual(len(buf), 1)
+ self.assertEqual(buf, bytearray(str(i)))
+
+ with File(self.vol.open(file_name, os.O_RDONLY)) as f:
+ self.assertRaises(TypeError, f.readinto, str("buf"))
+
class DirOpsTest(unittest.TestCase):
diff --git a/test/unit/gluster/test_gfapi.py b/test/unit/gluster/test_gfapi.py
index 5551235..4be2346 100644
--- a/test/unit/gluster/test_gfapi.py
+++ b/test/unit/gluster/test_gfapi.py
@@ -192,6 +192,17 @@ class TestFile(unittest.TestCase):
with patch("gluster.gfapi.File.fgetsize", _mock_fgetsize):
self.fd.read(buflen)
+ def test_readinto(self):
+ mock_glfs_read = Mock()
+ mock_glfs_read.return_value = 5
+
+ with patch("gluster.gfapi.api.glfs_read", mock_glfs_read):
+ buf = bytearray(10)
+ ret = self.fd.readinto(buf)
+ self.assertEqual(ret, 5)
+
+ self.assertRaises(TypeError, self.fd.readinto, str("hello"))
+
def test_write_success(self):
mock_glfs_write = Mock()
mock_glfs_write.return_value = 5