summaryrefslogtreecommitdiffstats
path: root/pactest
diff options
context:
space:
mode:
Diffstat (limited to 'pactest')
-rw-r--r--pactest/Makefile.am3
-rw-r--r--pactest/README25
-rwxr-xr-xpactest/pmenv.py8
-rwxr-xr-xpactest/pmfile.py8
-rw-r--r--pactest/tests/Makefile.am27
-rw-r--r--pactest/tests/remove030.py6
-rw-r--r--pactest/tests/sync200.py.in (renamed from pactest/tests/sync200.py)3
7 files changed, 63 insertions, 17 deletions
diff --git a/pactest/Makefile.am b/pactest/Makefile.am
index ce611f78..64f9a22e 100644
--- a/pactest/Makefile.am
+++ b/pactest/Makefile.am
@@ -1,3 +1,5 @@
+SUBDIRS = tests
+
check_SCRIPTS = \
pactest.py \
pmdb.py \
@@ -7,7 +9,6 @@ check_SCRIPTS = \
pmrule.py \
pmtest.py \
util.py \
- $(wildcard tests/*.py) \
vercmptest.sh
noinst_SCRIPTS = $(check_SCRIPTS)
diff --git a/pactest/README b/pactest/README
index 5d4e47fc..8f97a17d 100644
--- a/pactest/README
+++ b/pactest/README
@@ -70,12 +70,12 @@ Usage
pactest will run the suite of tests defined by the "--test" parameter.
Example:
- ./pactest.py --test=test/*
+ ./pactest.py --test tests/*.py
-This example will run tests from the "test" directory.
+This example will run all tests from the "tests" directory.
Note: several "--test" options can be passed to pactest.
-Use the ""help" option to get the full list of parameters:
+Use the "help" option to get the full list of parameters:
./pactest.py --help
@@ -103,15 +103,22 @@ Example:
------
A dictionary that holds the data used in the pacman configuration file.
-It has 3 keys, each one of them pointing at a list of strings:
- - noupgrade
- - noextract
- - ignorepkg
+The following options are known to be useful in pactest tests; this list
+is not necessarily complete:
+ - HoldPkg
+ - IgnorePkg
+ - IgnoreGroup
+ - SyncFirst
+ - NoExtract
+ - NoUpgrade
+ - XferCommand
+
+For documentation on these options, see the pacman.conf documentation.
Examples:
- self.option["noupgrade"] = ["etc/X11/xorg.conf",
+ self.option["NoUpgrade"] = ["etc/X11/xorg.conf",
"etc/pacman.conf"]
- self.option["noextract"] = ["etc/lilo.conf"]
+ self.option["NoExtract"] = ["etc/lilo.conf"]
filesystem
----------
diff --git a/pactest/pmenv.py b/pactest/pmenv.py
index e9d0b4c9..cc433dd0 100755
--- a/pactest/pmenv.py
+++ b/pactest/pmenv.py
@@ -71,9 +71,11 @@ class pmenv:
t.generate()
# Hack for mtimes consistency
for i in t.rules:
- if i.rule.find("MODIFIED") != -1:
- time.sleep(1.5)
- break
+ if i.rule.find("FILE_MODIFIED") != -1:
+ [test, arg] = i.rule.split("=")
+ for f in t.files:
+ if f.name == arg:
+ f.resettimes()
t.run(self.pacman)
diff --git a/pactest/pmfile.py b/pactest/pmfile.py
index 21baf017..ab4aa2c7 100755
--- a/pactest/pmfile.py
+++ b/pactest/pmfile.py
@@ -56,6 +56,14 @@ class pmfile:
return retval
+ def resettimes(self):
+ """
+ """
+
+ filename = os.path.join(self.root, self.name)
+ os.utime(filename, (355, 355))
+ self.mtime = getmtime(filename)
+ vprint("\tmtime reset (%s)" % self.name)
if __name__ == "__main__":
f = pmfile("/tmp", "foobar")
diff --git a/pactest/tests/Makefile.am b/pactest/tests/Makefile.am
new file mode 100644
index 00000000..b793687b
--- /dev/null
+++ b/pactest/tests/Makefile.am
@@ -0,0 +1,27 @@
+CONFTESTS = $(patsubst %py.in,%py,$(wildcard *.py.in))
+
+check_SCRIPTS = \
+ $(wildcard *.py) \
+ $(CONFTESTS)
+
+noinst_SCRIPTS = $(check_SCRIPTS)
+
+EXTRA_DIST = $(check_SCRIPTS)
+
+CLEANFILES = $(CONFTESTS)
+
+#### Taken from the autoconf scripts Makefile.am ####
+edit = sed \
+ -e 's|@LIBS[@]|$(LIBS)|g' \
+ -e 's|@configure_input[@]|Generated from $@.in; do not edit by hand.|g'
+
+
+$(CONFTESTS): Makefile
+ @echo ' ' GEN $@;
+ @rm -f $@ $@.tmp
+ @test -f $(srcdir)/$@.in && $(edit) $(srcdir)/$@.in >$@.tmp || true
+ @test -f $@.tmp || false
+ @chmod a-w $@.tmp
+ @mv $@.tmp $@
+
+# vim:set ts=2 sw=2 noet:
diff --git a/pactest/tests/remove030.py b/pactest/tests/remove030.py
index 9e2b9da5..e975a4ba 100644
--- a/pactest/tests/remove030.py
+++ b/pactest/tests/remove030.py
@@ -7,7 +7,5 @@ self.option["HoldPkg"] = ["dummy"]
self.args = "-R %s" % p1.name
-self.addrule("PACMAN_RETCODE=0")
-self.addrule("!PKG_EXIST=dummy")
-self.addrule("!FILE_EXIST=etc/dummy.conf")
-self.addrule("!FILE_PACSAVE=etc/dummy.conf")
+self.addrule("PACMAN_RETCODE=1")
+self.addrule("PKG_EXIST=dummy")
diff --git a/pactest/tests/sync200.py b/pactest/tests/sync200.py.in
index 9005bd3d..3c11f83f 100644
--- a/pactest/tests/sync200.py
+++ b/pactest/tests/sync200.py.in
@@ -1,5 +1,8 @@
self.description = "Synchronize the local database"
+if not "download" in "@LIBS@":
+ self.option['XferCommand'] = ['/usr/bin/curl %u > %o']
+
sp1 = pmpkg("spkg1", "1.0-1")
sp1.depends = ["spkg2"]
sp2 = pmpkg("spkg2", "2.0-1")