diff options
Diffstat (limited to 'pactest/pmrule.py')
-rwxr-xr-x | pactest/pmrule.py | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/pactest/pmrule.py b/pactest/pmrule.py index 886ac545..d5d0f561 100755 --- a/pactest/pmrule.py +++ b/pactest/pmrule.py @@ -19,7 +19,7 @@ from util import * - +from stat import * class pmrule: """Rule object @@ -108,24 +108,37 @@ class pmrule: 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)): + elif case == "MODIFIED": + for f in files: + if f.name == key: + if not f.ismodified(): + success = 0 + elif case == "MODE": + mode = os.lstat(filename)[ST_MODE] + if int(value,8) != S_IMODE(mode): + success = 0 + elif case == "TYPE": + if value == "dir": + if not os.path.isdir(filename): success = 0 - elif case == "PACORIG": - if not os.path.isfile("%s%s" % (filename, PM_PACORIG)): + elif value == "file": + if not os.path.isfile(filename): success = 0 - elif case == "PACSAVE": - if not os.path.isfile("%s%s" % (filename, PM_PACSAVE)): + elif value == "link": + if not os.path.islink(filename): success = 0 - else: - print "FILE rule '%s' not found" % case - success = -1 + 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: + print "FILE rule '%s' not found" % case + success = -1 else: print "Rule kind '%s' not found" % kind success = -1 |