Revision fd6eaa09
b/test/ganeti.utils.io_unittest.py | ||
---|---|---|
240 | 240 |
"/bin/../tmp") |
241 | 241 |
|
242 | 242 |
|
243 |
class TestWriteFile(unittest.TestCase):
|
|
243 |
class TestWriteFile(testutils.GanetiTestCase):
|
|
244 | 244 |
def setUp(self): |
245 |
testutils.GanetiTestCase.setUp(self) |
|
245 | 246 |
self.tmpdir = None |
246 | 247 |
self.tfile = tempfile.NamedTemporaryFile() |
247 | 248 |
self.did_pre = False |
... | ... | |
249 | 250 |
self.did_write = False |
250 | 251 |
|
251 | 252 |
def tearDown(self): |
253 |
testutils.GanetiTestCase.tearDown(self) |
|
252 | 254 |
if self.tmpdir: |
253 | 255 |
shutil.rmtree(self.tmpdir) |
254 | 256 |
|
... | ... | |
277 | 279 |
self.assertRaises(errors.ProgrammerError, utils.WriteFile, self.tfile.name) |
278 | 280 |
self.assertRaises(errors.ProgrammerError, utils.WriteFile, |
279 | 281 |
self.tfile.name, data="test", atime=0) |
282 |
self.assertRaises(errors.ProgrammerError, utils.WriteFile, self.tfile.name, |
|
283 |
mode=0400, keep_perms=utils.KP_ALWAYS) |
|
284 |
self.assertRaises(errors.ProgrammerError, utils.WriteFile, self.tfile.name, |
|
285 |
uid=0, keep_perms=utils.KP_ALWAYS) |
|
286 |
self.assertRaises(errors.ProgrammerError, utils.WriteFile, self.tfile.name, |
|
287 |
gid=0, keep_perms=utils.KP_ALWAYS) |
|
288 |
self.assertRaises(errors.ProgrammerError, utils.WriteFile, self.tfile.name, |
|
289 |
mode=0400, uid=0, keep_perms=utils.KP_ALWAYS) |
|
280 | 290 |
|
281 | 291 |
def testPreWrite(self): |
282 | 292 |
utils.WriteFile(self.tfile.name, data="", prewrite=self.markPre) |
... | ... | |
373 | 383 |
self.assertTrue("test" in os.listdir(self.tmpdir)) |
374 | 384 |
self.assertEqual(len(os.listdir(self.tmpdir)), 2) |
375 | 385 |
|
386 |
def testFileMode(self): |
|
387 |
self.tmpdir = tempfile.mkdtemp() |
|
388 |
target = utils.PathJoin(self.tmpdir, "target") |
|
389 |
self.assertRaises(OSError, utils.WriteFile, target, data="data", |
|
390 |
keep_perms=utils.KP_ALWAYS) |
|
391 |
# All masks have only user bits set, to avoid interactions with umask |
|
392 |
utils.WriteFile(target, data="data", mode=0200) |
|
393 |
self.assertFileMode(target, 0200) |
|
394 |
utils.WriteFile(target, data="data", mode=0400, |
|
395 |
keep_perms=utils.KP_IF_EXISTS) |
|
396 |
self.assertFileMode(target, 0200) |
|
397 |
utils.WriteFile(target, data="data", keep_perms=utils.KP_ALWAYS) |
|
398 |
self.assertFileMode(target, 0200) |
|
399 |
utils.WriteFile(target, data="data", mode=0700) |
|
400 |
self.assertFileMode(target, 0700) |
|
401 |
|
|
402 |
def testNewFileMode(self): |
|
403 |
self.tmpdir = tempfile.mkdtemp() |
|
404 |
target = utils.PathJoin(self.tmpdir, "target") |
|
405 |
utils.WriteFile(target, data="data", mode=0400, |
|
406 |
keep_perms=utils.KP_IF_EXISTS) |
|
407 |
self.assertFileMode(target, 0400) |
|
376 | 408 |
|
377 | 409 |
class TestFileID(testutils.GanetiTestCase): |
378 | 410 |
def testEquality(self): |
Also available in: Unified diff