On 11/11/13 21:47, Jeremy Heiner wrote:
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>
This seems fine to me. It appears dependent on changes Patch 2/5 in this series (or at least it did not apply cleanly here...), so it will need adjusted.
--- 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"])