summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--t/data/SPECS/failing-promotion/e-1.spec14
-rw-r--r--t/data/SPECS/failing-promotion/e-2.spec14
-rw-r--r--t/data/SPECS/failing-promotion/f1-i586.spec14
-rw-r--r--t/data/SPECS/failing-promotion/f1-x86_64.spec15
-rw-r--r--t/data/SPECS/failing-promotion/f2.spec15
-rw-r--r--t/superuser--failing-promotion.t28
6 files changed, 99 insertions, 1 deletions
diff --git a/t/data/SPECS/failing-promotion/e-1.spec b/t/data/SPECS/failing-promotion/e-1.spec
new file mode 100644
index 00000000..776e7129
--- /dev/null
+++ b/t/data/SPECS/failing-promotion/e-1.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: e
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+Requires: f
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/failing-promotion/e-2.spec b/t/data/SPECS/failing-promotion/e-2.spec
new file mode 100644
index 00000000..14b0e7c9
--- /dev/null
+++ b/t/data/SPECS/failing-promotion/e-2.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: e
+Version: 2
+Release: 1
+License: x
+Group: x
+Url: x
+Requires: f
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/failing-promotion/f1-i586.spec b/t/data/SPECS/failing-promotion/f1-i586.spec
new file mode 100644
index 00000000..58f07ec0
--- /dev/null
+++ b/t/data/SPECS/failing-promotion/f1-i586.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: f1
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+Provides: f
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/failing-promotion/f1-x86_64.spec b/t/data/SPECS/failing-promotion/f1-x86_64.spec
new file mode 100644
index 00000000..bd46aefb
--- /dev/null
+++ b/t/data/SPECS/failing-promotion/f1-x86_64.spec
@@ -0,0 +1,15 @@
+Summary: x
+Name: f1
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+Requires: a = 1
+Provides: f
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/failing-promotion/f2.spec b/t/data/SPECS/failing-promotion/f2.spec
new file mode 100644
index 00000000..0c3f99f5
--- /dev/null
+++ b/t/data/SPECS/failing-promotion/f2.spec
@@ -0,0 +1,15 @@
+Summary: x
+Name: f2
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+Provides: f
+Conflicts: a = 2
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/superuser--failing-promotion.t b/t/superuser--failing-promotion.t
index 055cbcde..aaa80f26 100644
--- a/t/superuser--failing-promotion.t
+++ b/t/superuser--failing-promotion.t
@@ -2,6 +2,8 @@
#
# testcase for bug #50666
#
+# a-1
+# a-2
# b-1 requires c
# b-2 requires c
# c-1 requires a-1
@@ -11,6 +13,22 @@
# user has a-1, b-1, c-1 installed
# trying to upgrade a has to remove b, c
#
+#
+# testcase for bug #57224
+#
+# a-1
+# a-2
+# e-1 requires f
+# e-2 requires f
+# f1.x86_64 provides f, requires a-1
+# f1.i586 provides f
+# f2 provides f, conflicts a-2
+#
+# user has a-1, e-1, f1.x86_64 installed
+# trying to upgrade a and e ( = auto-select) has to remove e, f1
+# the additional f1.i586 and f2 should not confuse urpmi
+#
+#
use strict;
use lib '.', 't';
use helper;
@@ -22,8 +40,16 @@ need_root_and_prepare();
my $name = 'failing-promotion';
urpmi_addmedia("$name $::pwd/media/$name");
+# bug #50666
urpmi("--auto a-1 c-1 b-1");
check_installed_fullnames("a-1-1", "c-1-1", "b-1-1");
urpmi("--auto a");
-check_installed_fullnames("a-2-1");
+check_installed_fullnames_and_remove("a-2-1");
+
+# bug #57224
+urpmi("--auto --ignorearch a-1 e-1 f1-1-1.x86_64");
+check_installed_fullnames("a-1-1", "e-1-1", "f1-1-1");
+# disabled until fixed
+#urpmi("--auto --ignorearch --strict-arch --auto-select");
+#check_installed_fullnames_and_remove("a-2-1");