예제 #1
0
 def _set_directories(self):
     if self.originpath:
         self.origindir = Directory(self.originpath)
     if self.localpath:
         self.localdir = Directory(self.localpath, create=True)
     if self.outputpath:
         self.outputdir = Directory(self.outputpath, create=True)
예제 #2
0
 def setUp(self):
     self.path = tempfile.mkdtemp()
     self.assertTrue(os.path.isdir(self.path))
     # drop some files in the dir
     self.files = [os.path.join(self.path, filename) for filename in ('a', 'b', 'c')]
     [open(f, 'w') for f in self.files]
     self.directory = Directory(self.path)
예제 #3
0
    def test_symlinked_dir(self):
        # dir is symlink, link target exists but is not dir
        target_file = tempfile.mktemp()
        self.assertFalse(os.path.exists(target_file))
        open(target_file, 'w')
        self.assertTrue(os.path.exists(target_file))
        self.assertTrue(os.path.isfile(target_file))

        link_name = tempfile.mktemp()
        self.assertFalse(os.path.exists(link_name))
        os.symlink(target_file, link_name)
        self.assertTrue(os.path.exists(link_name))
        self.assertTrue(os.path.islink(link_name))
        self.assertTrue(os.path.isfile(link_name))

        self.assertRaises(DirectoryError, Directory, link_name)
        os.remove(link_name)
        os.remove(target_file)

        # dir is symlink, link target is dir
        target_dir = tempfile.mkdtemp()
        self.assertTrue(os.path.isdir(target_dir))
        link_name = tempfile.mktemp()
        self.assertFalse(os.path.exists(link_name))
        os.symlink(target_dir, link_name)
        self.assertTrue(os.path.exists(link_name))
        self.assertTrue(os.path.islink(link_name))
        self.assertTrue(os.path.isdir(link_name))

        d = Directory(link_name)
        self.assertEqual(link_name, d.dir)

        # remove the target dir - now we have a bad link
        os.rmdir(target_dir)
        self.assertFalse(os.path.exists(target_dir))

        # dir is symlink, link target does not exist
        self.assertTrue(os.path.islink(link_name))
        self.assertFalse(os.path.exists(os.readlink(link_name)))
        self.assertRaises(DirectoryError, Directory, link_name, True)

        os.remove(link_name)
        self.assertFalse(os.path.exists(link_name))