summaryrefslogtreecommitdiffstats
path: root/test/functional/libgfapi-python-tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/libgfapi-python-tests.py')
-rw-r--r--test/functional/libgfapi-python-tests.py18
1 files changed, 18 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):