summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--t/data/SPECS/handle-conflict-deps2/a1-1.spec13
-rw-r--r--t/data/SPECS/handle-conflict-deps2/a1-2.spec13
-rw-r--r--t/data/SPECS/handle-conflict-deps2/a2.spec14
-rw-r--r--t/data/SPECS/handle-conflict-deps2/b-1.spec13
-rw-r--r--t/data/SPECS/handle-conflict-deps2/b-2.spec14
-rw-r--r--t/data/SPECS/handle-conflict-deps2/c-1.spec13
-rw-r--r--t/data/SPECS/handle-conflict-deps2/c-2.spec14
-rw-r--r--t/data/SPECS/handle-conflict-deps2/d1-1.spec13
-rw-r--r--t/data/SPECS/handle-conflict-deps2/d1-2.spec13
-rw-r--r--t/data/SPECS/handle-conflict-deps2/d2.spec14
-rw-r--r--t/superuser--handle-conflict-deps2.t35
11 files changed, 169 insertions, 0 deletions
diff --git a/t/data/SPECS/handle-conflict-deps2/a1-1.spec b/t/data/SPECS/handle-conflict-deps2/a1-1.spec
new file mode 100644
index 00000000..68601814
--- /dev/null
+++ b/t/data/SPECS/handle-conflict-deps2/a1-1.spec
@@ -0,0 +1,13 @@
+Summary: x
+Name: a1
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/handle-conflict-deps2/a1-2.spec b/t/data/SPECS/handle-conflict-deps2/a1-2.spec
new file mode 100644
index 00000000..a5f35215
--- /dev/null
+++ b/t/data/SPECS/handle-conflict-deps2/a1-2.spec
@@ -0,0 +1,13 @@
+Summary: x
+Name: a1
+Version: 2
+Release: 1
+License: x
+Group: x
+Url: x
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/handle-conflict-deps2/a2.spec b/t/data/SPECS/handle-conflict-deps2/a2.spec
new file mode 100644
index 00000000..04df40f7
--- /dev/null
+++ b/t/data/SPECS/handle-conflict-deps2/a2.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: a2
+Version: 2
+Release: 1
+License: x
+Group: x
+Url: x
+Conflicts: a1
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/handle-conflict-deps2/b-1.spec b/t/data/SPECS/handle-conflict-deps2/b-1.spec
new file mode 100644
index 00000000..337a7807
--- /dev/null
+++ b/t/data/SPECS/handle-conflict-deps2/b-1.spec
@@ -0,0 +1,13 @@
+Summary: x
+Name: b
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/handle-conflict-deps2/b-2.spec b/t/data/SPECS/handle-conflict-deps2/b-2.spec
new file mode 100644
index 00000000..ad90689a
--- /dev/null
+++ b/t/data/SPECS/handle-conflict-deps2/b-2.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: b
+Version: 2
+Release: 1
+License: x
+Group: x
+Url: x
+Requires: a2
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/handle-conflict-deps2/c-1.spec b/t/data/SPECS/handle-conflict-deps2/c-1.spec
new file mode 100644
index 00000000..21381cf9
--- /dev/null
+++ b/t/data/SPECS/handle-conflict-deps2/c-1.spec
@@ -0,0 +1,13 @@
+Summary: x
+Name: c
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/handle-conflict-deps2/c-2.spec b/t/data/SPECS/handle-conflict-deps2/c-2.spec
new file mode 100644
index 00000000..f16d1549
--- /dev/null
+++ b/t/data/SPECS/handle-conflict-deps2/c-2.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: c
+Version: 2
+Release: 1
+License: x
+Group: x
+Url: x
+Requires: d2
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/handle-conflict-deps2/d1-1.spec b/t/data/SPECS/handle-conflict-deps2/d1-1.spec
new file mode 100644
index 00000000..80b71d34
--- /dev/null
+++ b/t/data/SPECS/handle-conflict-deps2/d1-1.spec
@@ -0,0 +1,13 @@
+Summary: x
+Name: d1
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/handle-conflict-deps2/d1-2.spec b/t/data/SPECS/handle-conflict-deps2/d1-2.spec
new file mode 100644
index 00000000..ff13b4a7
--- /dev/null
+++ b/t/data/SPECS/handle-conflict-deps2/d1-2.spec
@@ -0,0 +1,13 @@
+Summary: x
+Name: d1
+Version: 2
+Release: 1
+License: x
+Group: x
+Url: x
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/handle-conflict-deps2/d2.spec b/t/data/SPECS/handle-conflict-deps2/d2.spec
new file mode 100644
index 00000000..807c4e51
--- /dev/null
+++ b/t/data/SPECS/handle-conflict-deps2/d2.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: d2
+Version: 2
+Release: 1
+License: x
+Group: x
+Url: x
+Conflicts: d1
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/superuser--handle-conflict-deps2.t b/t/superuser--handle-conflict-deps2.t
new file mode 100644
index 00000000..3a87d7e8
--- /dev/null
+++ b/t/superuser--handle-conflict-deps2.t
@@ -0,0 +1,35 @@
+#!/usr/bin/perl
+
+# a1-1 upgrades to a1-2
+# b-1 upgrades to b-2 which requires a2
+# a2 conflicts with a1
+#
+# d & a is the same as a & b
+# (needed to ensure both ordering works)
+#
+use strict;
+use lib '.', 't';
+use helper;
+use urpm::util;
+use Test::More 'no_plan';
+
+need_root_and_prepare();
+
+my $name = 'handle-conflict-deps2';
+urpmi_addmedia("$name $::pwd/media/$name");
+
+# TODO: it should be an error since the wanted pkgs can't be fulfilled
+test(['d1-1', 'c-1'], ['c-2', 'd1-2'], ['c-2', 'd2-2']);
+
+#test(['a1-1', 'b-1'], ['b-2', 'a1-2'], ['b-2', 'a2-2']);
+
+
+sub test {
+ my ($first, $wanted, $result) = @_;
+
+ urpmi("--auto @$first");
+ check_installed_fullnames(map { "$_-1" } @$first);
+
+ urpmi("--auto @$wanted");
+ check_installed_fullnames(map { "$_-1" } @$result);
+}