예제 #1
0
 def test_incorrect_permissions(self):
     # If permissions on existing im dir are not correct,
     # a new one should be created.
     tmpdir = tempfile.mkdtemp()
     try:
         im_dir = catalog.create_intermediate_dir(tmpdir)
         root_im_dir = os.path.dirname(im_dir)
         try:
             os.chmod(root_im_dir, 0o777)
         except OSError:
             raise KnownFailureTest("Can't set file permissions.")
         else:
             self.dirs_are_valid(im_dir, tmpdir)
     finally:
         remove_tree(tmpdir)
예제 #2
0
 def test_incorrect_permissions(self):
     # If permissions on existing im dir are not correct,
     # a new one should be created.
     tmpdir = tempfile.mkdtemp()
     try:
         im_dir = catalog.create_intermediate_dir(tmpdir)
         root_im_dir = os.path.dirname(im_dir)
         try:
             os.chmod(root_im_dir, 0o777)
         except OSError:
             raise KnownFailureTest("Can't set file permissions.")
         else:
             self.dirs_are_valid(im_dir, tmpdir)
     finally:
         remove_tree(tmpdir)
예제 #3
0
 def test_incorrect_ownership(self):
     # Test if new intermediate dir is created when there is only one
     # im dir owned by improper user.
     import pwd
     tmpdir = tempfile.mkdtemp()
     try:
         im_dir = catalog.create_intermediate_dir(tmpdir)
         root_im_dir = os.path.dirname(im_dir)
         nobody = pwd.getpwnam('nobody')[2]
         nobody_g = pwd.getpwnam('nobody')[3]
         try:
             os.chown(root_im_dir, nobody, nobody_g)
         except OSError:
             raise KnownFailureTest("Can't change owner.")
         else:
             self.dirs_are_valid(im_dir, tmpdir)
     finally:
         remove_tree(tmpdir)
예제 #4
0
 def test_incorrect_ownership(self):
     # Test if new intermediate dir is created when there is only one
     # im dir owned by improper user.
     import pwd
     tmpdir = tempfile.mkdtemp()
     try:
         im_dir = catalog.create_intermediate_dir(tmpdir)
         root_im_dir = os.path.dirname(im_dir)
         nobody = pwd.getpwnam('nobody')[2]
         nobody_g = pwd.getpwnam('nobody')[3]
         try:
             os.chown(root_im_dir, nobody, nobody_g)
         except OSError:
             raise KnownFailureTest("Can't change owner.")
         else:
             self.dirs_are_valid(im_dir, tmpdir)
     finally:
         remove_tree(tmpdir)
예제 #5
0
    def test_symlink_raise(self):
        # If existing im dir is a symlink, new one should be created.
        tmpdir = tempfile.mkdtemp()
        try:
            im_dir = catalog.create_intermediate_dir(tmpdir)
            root_im_dir = os.path.dirname(im_dir)

            tempdir = tempfile.mkdtemp(prefix="weave-test", dir=tmpdir)
            try:
                os.rename(root_im_dir, tempdir)
            except OSError:
                raise KnownFailureTest("Can't move intermediate dir.")

            try:
                os.symlink(tempdir, root_im_dir)
            except OSError:
                raise KnownFailureTest("Can't create symlink to intermediate dir.")
            else:
                self.dirs_are_valid(im_dir, tmpdir)
        finally:
            remove_tree(tmpdir)
예제 #6
0
    def test_symlink_raise(self):
        # If existing im dir is a symlink, new one should be created.
        tmpdir = tempfile.mkdtemp()
        try:
            im_dir = catalog.create_intermediate_dir(tmpdir)
            root_im_dir = os.path.dirname(im_dir)

            tempdir = tempfile.mkdtemp(prefix='weave-test', dir=tmpdir)
            try:
                os.rename(root_im_dir, tempdir)
            except OSError:
                raise KnownFailureTest("Can't move intermediate dir.")

            try:
                os.symlink(tempdir, root_im_dir)
            except OSError:
                raise KnownFailureTest(
                    "Can't create symlink to intermediate dir.")
            else:
                self.dirs_are_valid(im_dir, tmpdir)
        finally:
            remove_tree(tmpdir)