pactest: add note tests

This commit is contained in:
morganamilo 2021-09-27 19:33:02 +01:00
parent 2b1ca6c298
commit 1340b5336e
No known key found for this signature in database
GPG key ID: E48D0A8326DE47C5
8 changed files with 77 additions and 0 deletions

View file

@ -9,6 +9,8 @@ pacman_tests = [
'tests/config002.py',
'tests/database001.py',
'tests/database002.py',
'tests/database003.py',
'tests/database004.py',
'tests/database010.py',
'tests/database011.py',
'tests/database012.py',
@ -174,6 +176,7 @@ pacman_tests = [
'tests/symlink020.py',
'tests/symlink021.py',
'tests/sync-failover-404-with-body.py',
'tests/sync-keep-note.py',
'tests/sync-install-assumeinstalled.py',
'tests/sync-nodepversion01.py',
'tests/sync-nodepversion02.py',
@ -181,6 +184,7 @@ pacman_tests = [
'tests/sync-nodepversion04.py',
'tests/sync-nodepversion05.py',
'tests/sync-nodepversion06.py',
'tests/sync-note-targets-only.py',
'tests/sync-sysupgrade-print-replaced-packages.py',
'tests/sync-update-assumeinstalled.py',
'tests/sync-update-package-removing-required-provides.py',

View file

@ -121,6 +121,8 @@ class pmdb(object):
pkg.groups = _getsection(fd)
elif line == "%URL%":
pkg.url = fd.readline().strip("\n")
elif line == "%NOTE%":
pkg.note = fd.readline().strip("\n")
elif line == "%LICENSE%":
pkg.license = _getsection(fd)
elif line == "%ARCH%":
@ -208,6 +210,7 @@ class pmdb(object):
make_section(data, "INSTALLDATE", pkg.installdate)
make_section(data, "SIZE", pkg.size)
make_section(data, "REASON", pkg.reason)
make_section(data, "NOTE", pkg.note)
else:
make_section(data, "FILENAME", pkg.filename())
make_section(data, "REPLACES", pkg.replaces)

View file

@ -34,6 +34,7 @@ class pmpkg(object):
self.desc = ""
self.groups = []
self.url = ""
self.note = ""
self.license = []
self.arch = ""
self.builddate = ""
@ -71,6 +72,7 @@ class pmpkg(object):
s.append("url: %s" % self.url)
s.append("files: %s" % " ".join(self.files))
s.append("reason: %d" % self.reason)
s.append("note: %s" % self.note)
return "\n".join(s)
def fullname(self):

View file

@ -108,6 +108,9 @@ class pmrule(object):
if f.startswith(value + "\t"):
success = 1
break;
elif case == "NOTE":
if newpkg.note != value:
success = 0
else:
tap.diag("PKG rule '%s' not found" % case)
success = -1

View file

@ -0,0 +1,10 @@
self.description = "-D --note :D"
lp = pmpkg("pkg")
self.addpkg2db("local", lp)
self.args = "-D pkg --note :D"
self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_EXIST=pkg")
self.addrule("PKG_NOTE=pkg|:D")

View file

@ -0,0 +1,11 @@
self.description = "-D --rmnote"
lp = pmpkg("pkg")
lp.note = "D:"
self.addpkg2db("local", lp)
self.args = "-D pkg --rmnote"
self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_EXIST=pkg")
self.addrule("PKG_NOTE=pkg|")

View file

@ -0,0 +1,14 @@
self.description = "Sync a package keeping the existing note"
sp = pmpkg("pkg")
self.addpkg2db("sync", sp)
lp = pmpkg("pkg")
lp.note = "this is a note"
self.addpkg2db("local", lp)
self.args = "-S pkg"
self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_EXIST=pkg")
self.addrule("PKG_NOTE=pkg|this is a note")

View file

@ -0,0 +1,30 @@
self.description = "Make sure note is only set for targets"
sp1 = pmpkg("pkg1", "1.0-2")
sp1.depends = ["pkg2"]
sp2 = pmpkg("pkg2")
sp3 = pmpkg("pkg3")
sp3.depends = ["pkg4"]
sp4 = pmpkg("pkg4")
for p in sp1, sp2, sp3, sp4:
self.addpkg2db("sync", p)
lp1 = pmpkg("pkg1")
self.addpkg2db("local", lp1)
self.args = "-S pkg1 pkg3 --note aaaa"
self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_EXIST=pkg1")
self.addrule("PKG_EXIST=pkg2")
self.addrule("PKG_EXIST=pkg3")
self.addrule("PKG_EXIST=pkg4")
self.addrule("PKG_NOTE=pkg1|aaaa")
self.addrule("PKG_NOTE=pkg2|")
self.addrule("PKG_NOTE=pkg3|aaaa")
self.addrule("PKG_NOTE=pkg4|")