summaryrefslogtreecommitdiffstats
path: root/test/functional/libgfapi-python-tests.py
diff options
context:
space:
mode:
authorThiago da Silva <thiago@redhat.com>2014-03-19 11:09:10 -0400
committerThiago da Silva <thiago@redhat.com>2014-03-21 11:47:43 -0400
commitdf17e0bc245ce3c7e58f384a3a2f6e02b999d50b (patch)
treecc87a1b80f85ed3b7e2226cec37731cb54976ce8 /test/functional/libgfapi-python-tests.py
parentc268302dd4dcd22a503e21f30d5bbfb2df3013f6 (diff)
merging creat and open function to be more pythonic
the os python module does not offer a creat function, new files are created using the open function and by passing O_CREAT flag. We are changing gfapi.py to function the same way. Change-Id: I5e084b200bb657e3124d3e620a47160e790cd1fe Signed-off-by: Thiago da Silva <thiago@redhat.com>
Diffstat (limited to 'test/functional/libgfapi-python-tests.py')
-rw-r--r--test/functional/libgfapi-python-tests.py30
1 files changed, 27 insertions, 3 deletions
diff --git a/test/functional/libgfapi-python-tests.py b/test/functional/libgfapi-python-tests.py
index cdb556c..ac5c38f 100644
--- a/test/functional/libgfapi-python-tests.py
+++ b/test/functional/libgfapi-python-tests.py
@@ -17,6 +17,7 @@ import unittest
import os
import types
import loremipsum
+import errno
from glusterfs import gfapi
@@ -40,7 +41,8 @@ class BinFileOpsTest(unittest.TestCase):
def setUp(self):
self.data = bytearray([(k % 128) for k in range(0, 1024)])
self.path = self._testMethodName + ".io"
- with self.vol.creat(self.path, os.O_WRONLY | os.O_EXCL, 0644) as fd:
+ with self.vol.open(self.path, os.O_CREAT | os.O_WRONLY | os.O_EXCL,
+ 0644) as fd:
fd.write(self.data)
def test_bin_open_and_read(self):
@@ -70,7 +72,8 @@ class FileOpsTest(unittest.TestCase):
def setUp(self):
self.data = loremipsum.get_sentence()
self.path = self._testMethodName + ".io"
- with self.vol.creat(self.path, os.O_WRONLY | os.O_EXCL, 0644) as fd:
+ with self.vol.open(self.path, os.O_CREAT | os.O_WRONLY | os.O_EXCL,
+ 0644) as fd:
rc = fd.write(self.data)
self.assertEqual(rc, len(self.data))
ret = fd.fsync()
@@ -87,6 +90,26 @@ class FileOpsTest(unittest.TestCase):
self.assertFalse(isinstance(buf, types.IntType))
self.assertEqual(buf.value, self.data)
+ def test_open_file_not_exist(self):
+ try:
+ f = self.vol.open("filenotexist", os.O_WRONLY)
+ except OSError as e:
+ self.assertEqual(e.errno, errno.ENOENT)
+ else:
+ f.close()
+ self.fail("Expected a OSError with errno.ENOENT")
+
+ def test_create_file_already_exists(self):
+ try:
+ f = self.vol.open("newfile", os.O_CREAT)
+ f.close()
+ g = self.vol.open("newfile", os.O_CREAT | os.O_EXCL)
+ except OSError as e:
+ self.assertEqual(e.errno, errno.EEXIST)
+ else:
+ g.close()
+ self.fail("Expected a OSError with errno.EEXIST")
+
def test_exists(self):
e = self.vol.exists(self.path)
self.assertTrue(e)
@@ -186,7 +209,8 @@ class DirOpsTest(unittest.TestCase):
self.vol.mkdir(self.dir_path, 0755)
for x in range(0, 3):
f = os.path.join(self.dir_path, self.testfile + str(x))
- with self.vol.creat(f, os.O_WRONLY | os.O_EXCL, 0644) as fd:
+ with self.vol.open(f, os.O_CREAT | os.O_WRONLY | os.O_EXCL,
+ 0644) as fd:
rc = fd.write(self.data)
self.assertEqual(rc, len(self.data))
ret = fd.fdatasync()