[pacman-dev] [PATCH 3/5] Simplify the Python code that sets utime of test package files.

Jeremy Heiner scalaprotractor at gmail.com
Mon Nov 11 06:47:45 EST 2013


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



More information about the pacman-dev mailing list