def test__sync_mem2sync(self): fs = FileSystem(path=self.rootpath()) subdir = Directory(mode=0700) fs.rootdirectory().add(name='subdir', entry=subdir) file = File(mode=0755) subdir.add(name='file', entry=file) self.failUnlessEqual(fs.rootdirectory().state(), DirectoryState.INMEMORY) self.failUnlessEqual(subdir.state(), DirectoryState.INMEMORY) self.failUnlessEqual(file.state(), FileState.NEW) fs.sync() self.failUnlessEqual(fs.rootdirectory().state(), DirectoryState.SYNC) self.failUnlessEqual(subdir.state(), DirectoryState.SYNC) self.failUnlessEqual(file.state(), FileState.SYNC_INMEM) self.failUnless(os.path.isdir(os.sep.join(self.rootpath()))) self.failUnless( os.path.isdir(os.sep.join(self.rootpath() + ['subdir']))) self.failUnless( os.path.isfile(os.sep.join(self.rootpath() + ['subdir', 'file']))) self.failUnlessEqual( stat.S_IMODE( os.stat(os.sep.join(self.rootpath() + ['subdir'])).st_mode), 0700) self.failUnlessEqual( stat.S_IMODE( os.stat(os.sep.join(self.rootpath() + ['subdir', 'file'])).st_mode), 0755) pass
def test__sync_dirty2sync(self): fs = FileSystem(path=self.rootpath()) subdir = Directory(mode=0700) fs.rootdirectory().add(name='subdir', entry=subdir) file = File(mode=0755) subdir.add(name='file', entry=file) fs.sync() newfile = File() subdir.add(name='newfile', entry=newfile) self.failUnlessEqual(newfile.state(), FileState.NEW) fs.sync() self.failUnlessEqual(newfile.state(), FileState.SYNC_INMEM) self.failUnless( os.path.isfile(os.sep.join(self.rootpath() + ['subdir', 'newfile']))) pass