From b96922679e4ed14aa687bf194b766d82a1d10577 Mon Sep 17 00:00:00 2001 From: Nagy Gabor Date: Sat, 4 Aug 2007 17:08:03 +0200 Subject: Add two pactest for versioned conflicts. A side effect of the previous commit ( ea9a756eeaca7398c0860b55f8abe2932ad195bd ) is that it's now possible to use versioned conflicts. Add two new conflict pactests for showing it. Signed-off-by: Chantry Xavier --- lib/libalpm/conflict.c | 10 +--------- pactest/tests/conflict002.py | 13 +++++++++++++ pactest/tests/conflict003.py | 13 +++++++++++++ 3 files changed, 27 insertions(+), 9 deletions(-) create mode 100644 pactest/tests/conflict002.py create mode 100644 pactest/tests/conflict003.py diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c index d52f7e12..1baa0c27 100644 --- a/lib/libalpm/conflict.c +++ b/lib/libalpm/conflict.c @@ -112,13 +112,6 @@ static void check_conflict(alpm_list_t *list1, alpm_list_t *list2, for(j = alpm_pkg_get_conflicts(pkg1); j; j = j->next) { const char *conflict = j->data; - if(strcmp(pkg1name, conflict) == 0) { - /* a package cannot conflict with itself -- that's just not nice */ - _alpm_log(PM_LOG_DEBUG, "package '%s' conflicts with itself - packaging error", - pkg1name); - continue; - } - for(k = list2; k; k = k->next) { pmpkg_t *pkg2 = k->data; const char *pkg2name = alpm_pkg_get_name(pkg2); @@ -140,8 +133,7 @@ static void check_conflict(alpm_list_t *list1, alpm_list_t *list2, } } -/* Returns a alpm_list_t* of pmdepmissing_t pointers. - * conflicts are always name only */ +/* Returns a alpm_list_t* of pmdepmissing_t pointers. */ alpm_list_t *_alpm_checkconflicts(pmdb_t *db, alpm_list_t *packages) { alpm_list_t *baddeps = NULL; diff --git a/pactest/tests/conflict002.py b/pactest/tests/conflict002.py new file mode 100644 index 00000000..2e326f52 --- /dev/null +++ b/pactest/tests/conflict002.py @@ -0,0 +1,13 @@ +self.description = "conflict with version (conflict)" + +p = pmpkg("pkg1") +p.conflicts = ["pkg2<=1.0-2"] +self.addpkg(p); + +lp = pmpkg("pkg2", "1.0-1") +self.addpkg2db("local", lp) + +self.args = "-A %s" % p.filename() +self.addrule("PACMAN_RETCODE=1") +self.addrule("!PKG_EXIST=pkg1") +self.addrule("PKG_EXIST=pkg2") diff --git a/pactest/tests/conflict003.py b/pactest/tests/conflict003.py new file mode 100644 index 00000000..7205086a --- /dev/null +++ b/pactest/tests/conflict003.py @@ -0,0 +1,13 @@ +self.description = "conflict with version (no conflict)" + +p = pmpkg("pkg1") +p.conflicts = ["pkg2=1.0-2"] +self.addpkg(p); + +lp = pmpkg("pkg2", "1.0-1") +self.addpkg2db("local", lp) + +self.args = "-A %s" % p.filename() +self.addrule("PACMAN_RETCODE=0") +self.addrule("PKG_EXIST=pkg1") +self.addrule("PKG_EXIST=pkg2") -- cgit v1.2.3-70-g09d2