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


Reply via email to