summaryrefslogtreecommitdiff
path: root/pactest/pmrule.py
diff options
context:
space:
mode:
Diffstat (limited to 'pactest/pmrule.py')
-rwxr-xr-xpactest/pmrule.py45
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