summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNagy Gabor <ngaba@petra.hos.u-szeged.hu>2007-08-04 17:08:03 +0200
committerDan McGee <dan@archlinux.org>2007-08-12 21:14:05 -0400
commitb96922679e4ed14aa687bf194b766d82a1d10577 (patch)
tree221e0f21e0da80e754c6d029a20175720eb1909f
parentdc5e6d5d87ceee61c38a8ecc2a87e99d49887b83 (diff)
downloadpacman-b96922679e4ed14aa687bf194b766d82a1d10577.tar.xz
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 <shiningxc@gmail.com>
-rw-r--r--lib/libalpm/conflict.c10
-rw-r--r--pactest/tests/conflict002.py13
-rw-r--r--pactest/tests/conflict003.py13
3 files changed, 27 insertions, 9 deletions
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")