def testFileNotExecutable(self):
        fname = utils.PathJoin(self.tmpdir, "file")
        utils.WriteFile(fname, data="#!/bin/bash", mode=0o600)
        assert os.path.exists(fname)
        self.assertFalse(utils.IsExecutable(fname))

        self.assertFalse(self._TestSymlink(fname))
    def _TestSymlink(self, fname):
        assert os.path.exists(fname)

        linkname = utils.PathJoin(self.tmpdir, "cmd")
        os.symlink(fname, linkname)

        assert os.path.islink(linkname)

        return utils.IsExecutable(linkname)
 def testNoFile(self):
     path = utils.PathJoin(self.tmpdir, "something")
     os.mkdir(path)
     assert os.path.isdir(path)
     self.assertFalse(utils.IsExecutable(path))
 def testNonExisting(self):
     fname = utils.PathJoin(self.tmpdir, "file")
     assert not os.path.exists(fname)
     self.assertFalse(utils.IsExecutable(fname))