diff options
Diffstat (limited to 'pactest')
| -rw-r--r-- | pactest/tests/mode001.py | 2 | ||||
| -rw-r--r-- | pactest/tests/mode002.py | 12 | ||||
| -rwxr-xr-x | pactest/util.py | 40 | 
3 files changed, 34 insertions, 20 deletions
diff --git a/pactest/tests/mode001.py b/pactest/tests/mode001.py index ff245a2c..4ec11e10 100644 --- a/pactest/tests/mode001.py +++ b/pactest/tests/mode001.py @@ -1,7 +1,7 @@  self.description = "Check the mode of default files in a package"  p = pmpkg("pkg1") -p.files = ["bin/foo" +p.files = ["bin/foo",             "bin/bar"]  self.addpkg(p) diff --git a/pactest/tests/mode002.py b/pactest/tests/mode002.py new file mode 100644 index 00000000..cc4a8fe8 --- /dev/null +++ b/pactest/tests/mode002.py @@ -0,0 +1,12 @@ +self.description = "Check execute mode on files in a package" + +p = pmpkg("pkg1") +p.files = ["bin/foo|755", +           "bin/bar|755"] +self.addpkg(p) + +self.args = "-U %s" % p.filename() + +self.addrule("PACMAN_RETCODE=0") +self.addrule("FILE_MODE=bin/foo|755") +self.addrule("FILE_MODE=bin/bar|755") diff --git a/pactest/util.py b/pactest/util.py index 3f0b096a..c6d5a594 100755 --- a/pactest/util.py +++ b/pactest/util.py @@ -58,35 +58,35 @@ def vprint(msg):  def getfilename(name):      """      """ -    filename = "" -    link = "" -    if name.find(" -> ") != -1: -        filename, link = name.split(" -> ") -    elif name[-1] == "*": -        filename = name.rstrip("*") -    else: -        filename = name +    filename = name +    extra = "" +    if filename[-1] == "*": +        filename = filename.rstrip("*") +    if filename.find(" -> ") != -1: +        filename, extra = filename.split(" -> ") +    elif filename.find("|") != -1: +        filename, extra = filename.split("|")      return filename  def mkfile(name, data = ""):      """      """ - -    isaltered = 0      isdir = 0      islink = 0 +    setperms = 0 +    filename = name      link = "" -    filename = "" +    perms = "" -    if name.find(" -> ") != -1: +    if filename[-1] == "*": +        filename = filename.rstrip("*") +    if filename.find(" -> ") != -1:          islink = 1 -        filename, link = name.split(" -> ") -    elif name[-1] == "*": -        isaltered = 1 -        filename = name.rstrip("*") -    else: -        filename = name -    if name[-1] == "/": +        filename, link = filename.split(" -> ") +    elif filename.find("|") != -1: +        setperms = 1 +        filename, perms = filename.split("|") +    if filename[-1] == "/":          isdir = 1      if isdir: @@ -114,6 +114,8 @@ def mkfile(name, data = ""):              if data[-1] != "\n":                  fd.write("\n")          fd.close() +        if setperms: +            os.chmod(filename, int(perms, 8))  def mkdescfile(filename, pkg):      """  | 
