Making util.mkfile responsible for calling os.utime avoids duplication
of the code in both pmpkg and pmtest, and also the unnecessary
repetition of the os.path.join (inside util.mkfile and again in
pmpkg/pmtest).
This change also eases the way forward for the more complicated utime
code which is needed to support mtree testing.
Signed-off-by: Jeremy Heiner <ScalaProtractor at gmail.com>
---
test/pacman/pmpkg.py | 5 +----
test/pacman/pmtest.py | 5 +----
test/pacman/util.py | 4 +++-
3 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/test/pacman/pmpkg.py b/test/pacman/pmpkg.py
index fd469b1..db97449 100644
--- a/test/pacman/pmpkg.py
+++ b/test/pacman/pmpkg.py
@@ -192,10 +192,7 @@ def install_package(self, root):
"""Install the package in the given root."""
self.runscript(root, "pre_install")
for f in self.files:
- util.mkfile(root, f, f)
- path = os.path.join(root, f)
- if os.path.isfile(path):
- os.utime(path, (355, 355))
+ util.mkfile(root, f, f, True)
self.runscript(root, "post_install")
def filelist(self):
diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py
index a1f3645d..9968dce 100644
--- a/test/pacman/pmtest.py
+++ b/test/pacman/pmtest.py
@@ -175,10 +175,7 @@ def generate(self, pacman):
vprint(" Populating file system")
for f in self.filesystem:
vprint("\t%s" % f)
- util.mkfile(self.root, f, f)
- path = os.path.join(self.root, f)
- if os.path.isfile(path):
- os.utime(path, (355, 355))
+ util.mkfile(self.root, f, f, True)
for pkg in self.db["local"].pkgs:
vprint("\tinstalling %s" % pkg.fullname())
pkg.install_package(self.root)
diff --git a/test/pacman/util.py b/test/pacman/util.py
index ab5a6f4..beb7e3d 100644
--- a/test/pacman/util.py
+++ b/test/pacman/util.py
@@ -77,7 +77,7 @@ def getfileinfo(filename):
data["filename"] = filename
return data
-def mkfile(base, name, data=""):
+def mkfile(base, name, data="", utime=False):
info = getfileinfo(name)
filename = info["filename"]
@@ -95,6 +95,8 @@ def mkfile(base, name, data=""):
os.symlink(info["link"], path)
else:
writedata(path, data)
+ if utime:
+ os.utime(path, (355, 355))
if info["perms"]:
os.chmod(path, info["perms"])
--
1.8.4.2