summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--t/data/SPECS/split-transactions--strict-require-1/e.spec14
-rw-r--r--t/data/SPECS/split-transactions--strict-require-1/f.spec14
-rw-r--r--t/data/SPECS/split-transactions--strict-require-1/g.spec14
-rw-r--r--t/data/SPECS/split-transactions--strict-require-2/e.spec14
-rw-r--r--t/data/SPECS/split-transactions--strict-require-2/f.spec14
-rw-r--r--t/data/SPECS/split-transactions--strict-require-2/g.spec13
-rw-r--r--t/data/SPECS/split-transactions--strict-require-2/h.spec14
-rw-r--r--t/superuser--split-transactions--strict-require.t18
8 files changed, 115 insertions, 0 deletions
diff --git a/t/data/SPECS/split-transactions--strict-require-1/e.spec b/t/data/SPECS/split-transactions--strict-require-1/e.spec
new file mode 100644
index 00000000..bf3d462c
--- /dev/null
+++ b/t/data/SPECS/split-transactions--strict-require-1/e.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: e
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+Requires: f = %version
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/split-transactions--strict-require-1/f.spec b/t/data/SPECS/split-transactions--strict-require-1/f.spec
new file mode 100644
index 00000000..d91f1142
--- /dev/null
+++ b/t/data/SPECS/split-transactions--strict-require-1/f.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: f
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+Requires: gh = %version
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/split-transactions--strict-require-1/g.spec b/t/data/SPECS/split-transactions--strict-require-1/g.spec
new file mode 100644
index 00000000..c3a762be
--- /dev/null
+++ b/t/data/SPECS/split-transactions--strict-require-1/g.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: g
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+Provides: gh = %version
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/split-transactions--strict-require-2/e.spec b/t/data/SPECS/split-transactions--strict-require-2/e.spec
new file mode 100644
index 00000000..8426b670
--- /dev/null
+++ b/t/data/SPECS/split-transactions--strict-require-2/e.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: e
+Version: 2
+Release: 1
+License: x
+Group: x
+Url: x
+Requires: f = %version
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/split-transactions--strict-require-2/f.spec b/t/data/SPECS/split-transactions--strict-require-2/f.spec
new file mode 100644
index 00000000..47b0bd8e
--- /dev/null
+++ b/t/data/SPECS/split-transactions--strict-require-2/f.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: f
+Version: 2
+Release: 1
+License: x
+Group: x
+Url: x
+Requires: gh = %version
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/split-transactions--strict-require-2/g.spec b/t/data/SPECS/split-transactions--strict-require-2/g.spec
new file mode 100644
index 00000000..02d5dbfe
--- /dev/null
+++ b/t/data/SPECS/split-transactions--strict-require-2/g.spec
@@ -0,0 +1,13 @@
+Summary: x
+Name: g
+Version: 2
+Release: 1
+License: x
+Group: x
+Url: x
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/split-transactions--strict-require-2/h.spec b/t/data/SPECS/split-transactions--strict-require-2/h.spec
new file mode 100644
index 00000000..da20a355
--- /dev/null
+++ b/t/data/SPECS/split-transactions--strict-require-2/h.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: h
+Version: 2
+Release: 1
+License: x
+Group: x
+Url: x
+Provides: gh = %version
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/superuser--split-transactions--strict-require.t b/t/superuser--split-transactions--strict-require.t
index 5089b109..60766e8e 100644
--- a/t/superuser--split-transactions--strict-require.t
+++ b/t/superuser--split-transactions--strict-require.t
@@ -7,6 +7,11 @@
# d-1 requires dd-1
# d-2 requires dd-2
#
+# e-1 requires f-1
+# e-2 requires f-2
+# f-1 requires gh = 1 provided by g-1
+# f-2 requires gh = 2 provided by h-2
+#
use strict;
use lib '.', 't';
use helper;
@@ -29,6 +34,9 @@ test_c('--split-level 1');
# The following package has to be removed for others to be upgraded: d-2-1 (in order to install d-2-1)
# This is because both d-1 and d-2 are installed
+test_efgh('--auto-select');
+test_efgh('--debug g'); # didn't work because of perl-URPM "not promoting pkg because of currently unsatisfied require". it also broke small transactions
+
sub test {
my ($option) = @_;
@@ -60,3 +68,13 @@ sub test_d {
urpmi("--media $name-2 --auto-select --auto");
check_installed_fullnames_and_remove('d-2-1', 'dd-2-1');
}
+
+sub test_efgh {
+ my ($para) = @_;
+
+ urpmi("--media $name-1 --auto e");
+ check_installed_fullnames('e-1-1', 'f-1-1', 'g-1-1');
+
+ urpmi("--media $name-2 --auto $para");
+ check_installed_fullnames_and_remove('e-2-1', 'f-2-1', 'g-2-1', 'h-2-1');
+}