diff options
-rwxr-xr-x | test/pacman/pmtest.py | 80 | ||||
-rw-r--r-- | test/pacman/tests/scriptlet001.py | 2 | ||||
-rw-r--r-- | test/pacman/tests/scriptlet002.py | 2 |
3 files changed, 44 insertions, 40 deletions
diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py index c70e41ae..716b920a 100755 --- a/test/pacman/pmtest.py +++ b/test/pacman/pmtest.py @@ -19,14 +19,14 @@ import os import os.path import shutil +import stat import time import pmrule import pmdb import pmfile -from pmpkg import pmpkg -from util import * - +import util +from util import vprint class pmtest: """Test object @@ -87,9 +87,11 @@ class pmtest: self.expectfailure = False if os.path.isfile(self.name): + # all tests expect this to be available + from pmpkg import pmpkg execfile(self.name) else: - raise IOerror("file %s does not exist!" % self.name) + raise IOError("file %s does not exist!" % self.name) def generate(self): """ @@ -104,39 +106,40 @@ class pmtest: # Create directory structure vprint(" Creating directory structure:") - dbdir = os.path.join(self.root, PM_DBPATH) - cachedir = os.path.join(self.root, PM_CACHEDIR) - syncdir = os.path.join(self.root, SYNCREPO) - tmpdir = os.path.join(self.root, TMPDIR) - logdir = os.path.join(self.root, os.path.dirname(LOGFILE)) - etcdir = os.path.join(self.root, os.path.dirname(PACCONF)) + dbdir = os.path.join(self.root, util.PM_DBPATH) + cachedir = os.path.join(self.root, util.PM_CACHEDIR) + syncdir = os.path.join(self.root, util.SYNCREPO) + tmpdir = os.path.join(self.root, util.TMPDIR) + logdir = os.path.join(self.root, os.path.dirname(util.LOGFILE)) + etcdir = os.path.join(self.root, os.path.dirname(util.PACCONF)) bindir = os.path.join(self.root, "bin") - for dir in [dbdir, cachedir, syncdir, tmpdir, logdir, etcdir, bindir]: - if not os.path.isdir(dir): - vprint("\t%s" % dir[len(self.root)+1:]) - os.makedirs(dir, 0755) + sys_dirs = [dbdir, cachedir, syncdir, tmpdir, logdir, etcdir, bindir] + for sys_dir in sys_dirs: + if not os.path.isdir(sys_dir): + vprint("\t%s" % sys_dir[len(self.root)+1:]) + os.makedirs(sys_dir, 0755) # Only the dynamically linked binary is needed for fakechroot shutil.copy("/bin/sh", bindir) # Configuration file vprint(" Creating configuration file") - vprint("\t%s" % PACCONF) - mkcfgfile(PACCONF, self.root, self.option, self.db) + util.mkcfgfile(util.PACCONF, self.root, self.option, self.db) # Creating packages vprint(" Creating package archives") for pkg in self.localpkgs: - vprint("\t%s" % os.path.join(TMPDIR, pkg.filename())) + vprint("\t%s" % os.path.join(util.TMPDIR, pkg.filename())) pkg.makepkg(tmpdir) for key, value in self.db.iteritems(): - if key == "local": continue + if key == "local": + continue for pkg in value.pkgs: - vprint("\t%s" % os.path.join(PM_CACHEDIR, pkg.filename())) + vprint("\t%s" % os.path.join(util.PM_CACHEDIR, pkg.filename())) if self.cachepkgs: pkg.makepkg(cachedir) else: pkg.makepkg(os.path.join(syncdir, value.treename)) - pkg.md5sum = getmd5sum(pkg.path) + pkg.md5sum = util.getmd5sum(pkg.path) pkg.csize = os.stat(pkg.path)[stat.ST_SIZE] # Populating databases @@ -151,11 +154,12 @@ class pmtest: # Creating sync database archives vprint(" Creating sync database archives") for key, value in self.db.iteritems(): - if key == "local": continue + if key == "local": + continue vprint("\t" + value.treename) value.gensync() serverpath = os.path.join(syncdir, value.treename) - mkdir(serverpath) + util.mkdir(serverpath) shutil.copy(value.dbfile, serverpath) # Filesystem @@ -165,7 +169,7 @@ class pmtest: pkg.install_files(self.root) for f in self.filesystem: vprint("\t%s" % f) - mkfile(os.path.join(self.root, f), f) + util.mkfile(os.path.join(self.root, f), f) # Done. vprint(" Taking a snapshot of the file system") @@ -180,7 +184,7 @@ class pmtest: """ """ - if os.path.isfile(PM_LOCK): + if os.path.isfile(util.PM_LOCK): print "\tERROR: another pacman session is on-going -- skipping" return @@ -189,13 +193,13 @@ class pmtest: cmd = [""] if os.geteuid() != 0: - fakeroot = which("fakeroot") + fakeroot = util.which("fakeroot") if not fakeroot: print "WARNING: fakeroot not found!" else: cmd.append("fakeroot") - fakechroot = which("fakechroot") + fakechroot = util.which("fakechroot") if fakechroot: cmd.append("fakechroot") @@ -205,29 +209,29 @@ class pmtest: cmd.append("valgrind -q --tool=memcheck --leak-check=full --show-reachable=yes --suppressions=%s/valgrind.supp" % os.getcwd()) cmd.append("\"%s\" --config=\"%s\" --root=\"%s\" --dbpath=\"%s\" --cachedir=\"%s\"" \ % (pacman["bin"], - os.path.join(self.root, PACCONF), + os.path.join(self.root, util.PACCONF), self.root, - os.path.join(self.root, PM_DBPATH), - os.path.join(self.root, PM_CACHEDIR))) + os.path.join(self.root, util.PM_DBPATH), + os.path.join(self.root, util.PM_CACHEDIR))) if not pacman["manual-confirm"]: cmd.append("--noconfirm") if pacman["debug"]: cmd.append("--debug=%s" % pacman["debug"]) cmd.append("%s" % self.args) if not pacman["gdb"] and not pacman["valgrind"] and not pacman["nolog"]: - cmd.append(">\"%s\" 2>&1" % os.path.join(self.root, LOGFILE)) + cmd.append(">\"%s\" 2>&1" % os.path.join(self.root, util.LOGFILE)) vprint("\trunning: %s" % " ".join(cmd)) # Change to the tmp dir before running pacman, so that local package # archives are made available more easily. curdir = os.getcwd() - tmpdir = os.path.join(self.root, TMPDIR) + tmpdir = os.path.join(self.root, util.TMPDIR) os.chdir(tmpdir) - t0 = time.time() + time_start = time.time() self.retcode = os.system(" ".join(cmd)) - t1 = time.time() - vprint("\ttime elapsed: %ds" % (t1-t0)) + time_end = time.time() + vprint("\ttime elapsed: %ds" % (time_end - time_start)) if self.retcode == None: self.retcode = 0 @@ -237,11 +241,11 @@ class pmtest: os.chdir(curdir) # Check if the lock is still there - if os.path.isfile(PM_LOCK): - print "\tERROR: %s not removed" % PM_LOCK - os.unlink(PM_LOCK) + if os.path.isfile(util.PM_LOCK): + print "\tERROR: %s not removed" % util.PM_LOCK + os.unlink(util.PM_LOCK) # Look for a core file - if os.path.isfile(os.path.join(self.root, TMPDIR, "core")): + if os.path.isfile(os.path.join(self.root, util.TMPDIR, "core")): print "\tERROR: pacman dumped a core file" def check(self): diff --git a/test/pacman/tests/scriptlet001.py b/test/pacman/tests/scriptlet001.py index ff7fcd20..1cf9053b 100644 --- a/test/pacman/tests/scriptlet001.py +++ b/test/pacman/tests/scriptlet001.py @@ -15,6 +15,6 @@ self.addrule("PACMAN_RETCODE=0") self.addrule("PACMAN_OUTPUT=" + pre) self.addrule("PACMAN_OUTPUT=" + post) -fakechroot = which("fakechroot") +fakechroot = util.which("fakechroot") if not fakechroot: self.expectfailure = True diff --git a/test/pacman/tests/scriptlet002.py b/test/pacman/tests/scriptlet002.py index cc316a10..59f60427 100644 --- a/test/pacman/tests/scriptlet002.py +++ b/test/pacman/tests/scriptlet002.py @@ -15,6 +15,6 @@ self.addrule("PACMAN_RETCODE=0") self.addrule("PACMAN_OUTPUT=" + pre) self.addrule("PACMAN_OUTPUT=" + post) -fakechroot = which("fakechroot") +fakechroot = util.which("fakechroot") if not fakechroot: self.expectfailure = True |