diff options
author | Thiago da Silva <thiago@redhat.com> | 2014-03-19 11:09:10 -0400 |
---|---|---|
committer | Thiago da Silva <thiago@redhat.com> | 2014-03-21 11:47:43 -0400 |
commit | df17e0bc245ce3c7e58f384a3a2f6e02b999d50b (patch) | |
tree | cc87a1b80f85ed3b7e2226cec37731cb54976ce8 /test/functional/libgfapi-python-tests.py | |
parent | c268302dd4dcd22a503e21f30d5bbfb2df3013f6 (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.py | 30 |
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() |