diff options
Diffstat (limited to 'pactest/pmrule.py')
-rwxr-xr-x | pactest/pmrule.py | 199 |
1 files changed, 100 insertions, 99 deletions
diff --git a/pactest/pmrule.py b/pactest/pmrule.py index ad2e8930..43310bfd 100755 --- a/pactest/pmrule.py +++ b/pactest/pmrule.py @@ -22,112 +22,113 @@ from util import * class pmrule: - """Rule object - """ + """Rule object + """ - def __init__(self, rule): - self.rule = rule - self.false = 0 - self.result = 0 + def __init__(self, rule): + self.rule = rule + self.false = 0 + self.result = 0 - def __str__(self): - return "rule = %s" % self.rule + def __str__(self): + return "rule = %s" % self.rule - def check(self, root, retcode, localdb, files): - """ - """ + def check(self, root, retcode, localdb, files): + """ + """ - success = 1 + success = 1 - [test, args] = self.rule.split("=") - if test[0] == "!": - self.false = 1 - test = test.lstrip("!") - [kind, case] = test.split("_") - if "|" in args: - [key, value] = args.split("|", 1) - else: - [key, value] = [args, None] + [test, args] = self.rule.split("=") + if test[0] == "!": + self.false = 1 + test = test.lstrip("!") + [kind, case] = test.split("_") + if "|" in args: + [key, value] = args.split("|", 1) + else: + [key, value] = [args, None] - if kind == "PACMAN": - if case == "RETCODE": - if retcode != int(key): - success = 0 - elif case == "OUTPUT": - if not grep(os.path.join(root, LOGFILE), key): - success = 0 - else: - success = -1 - elif kind == "PKG": - newpkg = localdb.db_read(key) - if not newpkg: - success = 0 - else: - dbg("newpkg.checksum : %s" % newpkg.checksum) - dbg("newpkg.mtime : %s" % newpkg.mtime) - if case == "EXIST": - success = 1 - elif case == "MODIFIED": - if not localdb.ispkgmodified(newpkg): - success = 0 - elif case == "VERSION": - if value != newpkg.version: - success = 0 - elif case == "GROUPS": - if not value in newpkg.groups: - success = 0 - elif case == "DEPENDS": - if not value in newpkg.depends: - success = 0 - elif case == "REQUIREDBY": - if not value in newpkg.requiredby: - success = 0 - elif case == "REASON": - if not newpkg.reason == int(value): - success = 0 - elif case == "FILES": - if not value in newpkg.files: - success = 0 - elif case == "BACKUP": - found = 0 - for f in newpkg.backup: - name, md5sum = f.split("\t") - if value == name: - found = 1 - if not found: - success = 0 - else: - success = -1 - elif kind == "FILE": - filename = os.path.join(root, key) - if case == "EXIST": - if not os.path.isfile(filename): - success = 0 - else: - if case == "MODIFIED": - for f in files: - if f.name == key: - if not f.ismodified(): - success = 0 - elif case == "PACNEW": - if not os.path.isfile("%s%s" % (filename, PM_PACNEW)): - success = 0 - elif case == "PACORIG": - if not os.path.isfile("%s%s" % (filename, PM_PACORIG)): - success = 0 - elif case == "PACSAVE": - if not os.path.isfile("%s%s" % (filename, PM_PACSAVE)): - success = 0 - else: - success = -1 - else: - success = -1 + if kind == "PACMAN": + if case == "RETCODE": + if retcode != int(key): + success = 0 + elif case == "OUTPUT": + if not grep(os.path.join(root, LOGFILE), key): + success = 0 + else: + success = -1 + elif kind == "PKG": + newpkg = localdb.db_read(key) + if not newpkg: + success = 0 + else: + #dbg("newpkg.checksum : %s" % newpkg.checksum) + #dbg("newpkg.mtime : %s" % newpkg.mtime) + if case == "EXIST": + success = 1 + elif case == "MODIFIED": + if not localdb.ispkgmodified(newpkg): + success = 0 + elif case == "VERSION": + if value != newpkg.version: + success = 0 + elif case == "GROUPS": + if not value in newpkg.groups: + success = 0 + elif case == "DEPENDS": + if not value in newpkg.depends: + success = 0 + elif case == "REQUIREDBY": + if not value in newpkg.requiredby: + success = 0 + elif case == "REASON": + if not newpkg.reason == int(value): + success = 0 + elif case == "FILES": + if not value in newpkg.files: + success = 0 + elif case == "BACKUP": + found = 0 + for f in newpkg.backup: + name, md5sum = f.split("\t") + if value == name: + found = 1 + if not found: + success = 0 + else: + success = -1 + elif kind == "FILE": + filename = os.path.join(root, key) + if case == "EXIST": + if not os.path.isfile(filename): + success = 0 + else: + if case == "MODIFIED": + for f in files: + if f.name == key: + if not f.ismodified(): + success = 0 + elif case == "PACNEW": + if not os.path.isfile("%s%s" % (filename, PM_PACNEW)): + success = 0 + elif case == "PACORIG": + if not os.path.isfile("%s%s" % (filename, PM_PACORIG)): + success = 0 + elif case == "PACSAVE": + if not os.path.isfile("%s%s" % (filename, PM_PACSAVE)): + success = 0 + else: + success = -1 + else: + success = -1 - if self.false and success != -1: - success = not success - self.result = success - return success + if self.false and success != -1: + success = not success + self.result = success + return success if __name__ != "__main__": - rule = pmrule("PKG_EXIST=dummy") + rule = pmrule("PKG_EXIST=dummy") +# vim: set ts=4 sw=4 et: |