示例#1
0
    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
示例#2
0
    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