summaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
Diffstat (limited to 't')
-rw-r--r--t/data/SPECS/obsolete-and-conflict/d.spec14
-rw-r--r--t/superuser--obsolete-and-conflict.t20
2 files changed, 32 insertions, 2 deletions
diff --git a/t/data/SPECS/obsolete-and-conflict/d.spec b/t/data/SPECS/obsolete-and-conflict/d.spec
new file mode 100644
index 00000000..938a5acc
--- /dev/null
+++ b/t/data/SPECS/obsolete-and-conflict/d.spec
@@ -0,0 +1,14 @@
+Summary: d
+Name: d
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+Requires: a
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/superuser--obsolete-and-conflict.t b/t/superuser--obsolete-and-conflict.t
index 221f224e..8116eaea 100644
--- a/t/superuser--obsolete-and-conflict.t
+++ b/t/superuser--obsolete-and-conflict.t
@@ -1,8 +1,10 @@
#!/usr/bin/perl
# package "a" is split into "b" and "c",
-# where "b" obsoletes "a" and requires "c"
+# where "b" obsoletes/provides "a" and requires "c"
# "c" conflicts with "a" (but can't obsolete it)
+#
+# package "d" requires "a"
use strict;
use lib '.', 't';
@@ -20,5 +22,19 @@ urpmi('a');
check_installed_names('a');
urpmi('b c');
-
check_installed_names('b', 'c');
+
+urpme('b c');
+
+urpmi('a d');
+check_installed_names('a', 'd');
+urpmi('b c');
+check_installed_names('b', 'c', 'd');
+
+urpme('b c d');
+
+urpmi('a d');
+check_installed_names('a', 'd');
+urpmi('--split-level 1 b c');
+# argh, d is removed :-(
+#check_installed_names('b', 'c', 'd');