diff options
Diffstat (limited to 'pactest')
-rw-r--r-- | pactest/Makefile.am | 3 | ||||
-rw-r--r-- | pactest/README | 25 | ||||
-rwxr-xr-x | pactest/pmenv.py | 8 | ||||
-rwxr-xr-x | pactest/pmfile.py | 8 | ||||
-rw-r--r-- | pactest/tests/Makefile.am | 27 | ||||
-rw-r--r-- | pactest/tests/remove030.py | 6 | ||||
-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") |