summaryrefslogtreecommitdiffstats
path: root/pactest
diff options
context:
space:
mode:
Diffstat (limited to 'pactest')
-rwxr-xr-xpactest/pmdb.py9
-rwxr-xr-xpactest/pmpkg.py23
-rwxr-xr-xpactest/pmtest.py4
3 files changed, 22 insertions, 14 deletions
diff --git a/pactest/pmdb.py b/pactest/pmdb.py
index e0f328ef..cfa146bd 100755
--- a/pactest/pmdb.py
+++ b/pactest/pmdb.py
@@ -19,6 +19,7 @@
import os
import tempfile
import shutil
+import tarfile
import pmpkg
from util import *
@@ -343,7 +344,13 @@ class pmdb:
# Generate database archive
mkdir(path)
archive = os.path.join(path, "%s%s" % (self.treename, PM_EXT_DB))
- os.system("tar zcf %s *" % archive)
+ tar = tarfile.open(archive, "w:gz")
+ for root, dirs, files in os.walk('.'):
+ for d in dirs:
+ tar.add(os.path.join(root, d), recursive=False)
+ for f in files:
+ tar.add(os.path.join(root, f))
+ tar.close()
os.chdir(curdir)
shutil.rmtree(tmpdir)
diff --git a/pactest/pmpkg.py b/pactest/pmpkg.py
index 3ee58156..48d79a35 100755
--- a/pactest/pmpkg.py
+++ b/pactest/pmpkg.py
@@ -20,6 +20,7 @@ import os
import tempfile
import stat
import shutil
+import tarfile
from util import *
@@ -153,25 +154,25 @@ class pmpkg:
for i in self.backup:
data.append("backup = %s" % i)
mkfile(".PKGINFO", "\n".join(data))
- targets = ".PKGINFO"
# .INSTALL
- empty = 1
if len(self.install.values()) > 0:
- empty = 0
- if not empty:
mkinstallfile(".INSTALL", self.install)
- targets += " .INSTALL"
- # package files
- if self.files:
- targets += " *"
-
- #safely create the dir
+ # safely create the dir
mkdir(os.path.dirname(self.path))
# Generate package archive
- os.system("tar zcf %s %s" % (self.path, targets))
+ tar = tarfile.open(self.path, "w:gz")
+
+ # package files
+ for root, dirs, files in os.walk('.'):
+ for d in dirs:
+ tar.add(os.path.join(root, d), recursive=False)
+ for f in files:
+ tar.add(os.path.join(root, f))
+
+ tar.close()
os.chdir(curdir)
shutil.rmtree(tmpdir)
diff --git a/pactest/pmtest.py b/pactest/pmtest.py
index d843ea6a..c4e6ffa0 100755
--- a/pactest/pmtest.py
+++ b/pactest/pmtest.py
@@ -200,7 +200,7 @@ class pmtest:
cmd.append("libtool gdb --args")
if pacman["valgrind"]:
cmd.append("valgrind -q --tool=memcheck --leak-check=full --show-reachable=yes")
- cmd.append("%s --config=%s --root=%s --dbpath=%s --cachedir=%s" \
+ cmd.append("\"%s\" --config=\"%s\" --root=\"%s\" --dbpath=\"%s\" --cachedir=\"%s\"" \
% (pacman["bin"],
os.path.join(self.root, PACCONF),
self.root,
@@ -212,7 +212,7 @@ class pmtest:
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, LOGFILE))
vprint("\trunning: %s" % " ".join(cmd))
# Change to the tmp dir before running pacman, so that local package