feat: changed test for optdeps to fit new descrption of the function, added test

This commit is contained in:
jg 2025-07-19 14:12:31 +02:00
parent 017cf982bf
commit fef121b209
4 changed files with 35 additions and 7 deletions

View file

@ -189,7 +189,7 @@ static void remove_notify_needed_optdepends(alpm_handle_t *handle, alpm_list_t *
EVENT(handle, &event); EVENT(handle, &event);
} else { } else {
// -Rs, we keep optdepends // -Rs, we keep optdepends
alpm_list_remove(lp, optdep, _alpm_pkg_dep_cmp,NULL); alpm_list_remove(lp, optdep, _alpm_pkg_dep_cmp, NULL);
} }
} }
free(optstring); free(optstring);

View file

@ -126,6 +126,7 @@ pacman_tests = [
'tests/reason001.py', 'tests/reason001.py',
'tests/remove-assumeinstalled.py', 'tests/remove-assumeinstalled.py',
'tests/remove-directory-replaced-with-symlink.py', 'tests/remove-directory-replaced-with-symlink.py',
'tests/remove-keep-optdepend-of-installed-package.py',
'tests/remove-optdepend-of-installed-package.py', 'tests/remove-optdepend-of-installed-package.py',
'tests/remove-print-empty-replacements.py', 'tests/remove-print-empty-replacements.py',
'tests/remove-recursive-cycle.py', 'tests/remove-recursive-cycle.py',

View file

@ -0,0 +1,21 @@
self.description = "Do not remove packages which is an optdepend of another package"
p1 = pmpkg("a")
p1.depends = ["b"]
self.addpkg2db("local", p1)
p2 = pmpkg("b")
self.addpkg2db("local", p2)
p3 = pmpkg("c")
p3.optdepends = ["b: for foobar"]
self.addpkg2db("local", p3)
self.args = "-Rs %s" % p1.name
self.addrule("PACMAN_RETCODE=0")
self.addrule("!PKG_EXIST=%s" % p1.name)
self.addrule("PKG_EXIST=%s" % p2.name)
self.addrule("PKG_EXIST=%s" % p3.name)
self.addrule("!PACMAN_OUTPUT=%s optionally requires %s" % (p3.name, p2.name))

View file

@ -1,15 +1,21 @@
self.description = "Remove packages which is an optdepend of another package" self.description = "Remove packages which is an optdepend of another package"
p1 = pmpkg("dep") p1 = pmpkg("a")
p1.depends = ["b"]
self.addpkg2db("local", p1) self.addpkg2db("local", p1)
p2 = pmpkg("pkg") p2 = pmpkg("b")
p2.optdepends = ["dep: for foobar"]
self.addpkg2db("local", p2) self.addpkg2db("local", p2)
self.args = "-R %s" % p1.name
p3 = pmpkg("c")
p3.optdepends = ["b: for foobar"]
self.addpkg2db("local", p3)
self.args = "-Rss %s" % p1.name
self.addrule("PACMAN_RETCODE=0") self.addrule("PACMAN_RETCODE=0")
self.addrule("!PKG_EXIST=%s" % p1.name) self.addrule("!PKG_EXIST=%s" % p1.name)
self.addrule("PKG_EXIST=%s" % p2.name) self.addrule("!PKG_EXIST=%s" % p2.name)
self.addrule("PACMAN_OUTPUT=%s optionally requires %s" % (p2.name, p1.name)) self.addrule("PKG_EXIST=%s" % p3.name)
self.addrule("PACMAN_OUTPUT=%s optionally requires %s" % (p3.name, p2.name))