summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--t/data/SPECS/split-transactions--strict-require-1/a.spec2
-rw-r--r--t/data/SPECS/split-transactions--strict-require-1/b.spec13
-rw-r--r--t/data/SPECS/split-transactions--strict-require-2/a.spec4
-rw-r--r--t/data/SPECS/split-transactions--strict-require-2/b.spec2
-rw-r--r--t/data/SPECS/split-transactions--strict-require-and-obsolete-1/a.spec14
-rw-r--r--t/data/SPECS/split-transactions--strict-require-and-obsolete-1/bb.spec (renamed from t/data/SPECS/split-transactions--strict-require-1/bb.spec)0
-rw-r--r--t/data/SPECS/split-transactions--strict-require-and-obsolete-1/c-1.spec (renamed from t/data/SPECS/split-transactions--strict-require-1/c-1.spec)0
-rw-r--r--t/data/SPECS/split-transactions--strict-require-and-obsolete-2/a.spec14
-rw-r--r--t/data/SPECS/split-transactions--strict-require-and-obsolete-2/b.spec15
-rw-r--r--t/data/SPECS/split-transactions--strict-require-and-obsolete-2/c-2.spec (renamed from t/data/SPECS/split-transactions--strict-require-2/c-2.spec)0
-rw-r--r--t/superuser--split-transactions--strict-require-and-obsolete.t33
-rw-r--r--t/superuser--split-transactions--strict-require.t25
12 files changed, 104 insertions, 18 deletions
diff --git a/t/data/SPECS/split-transactions--strict-require-1/a.spec b/t/data/SPECS/split-transactions--strict-require-1/a.spec
index b0345d65..b9d1643b 100644
--- a/t/data/SPECS/split-transactions--strict-require-1/a.spec
+++ b/t/data/SPECS/split-transactions--strict-require-1/a.spec
@@ -5,7 +5,7 @@ Release: 1
License: x
Group: x
Url: x
-Requires: b
+Requires: b = 1
BuildRoot: %{_tmppath}/%{name}
%description
diff --git a/t/data/SPECS/split-transactions--strict-require-1/b.spec b/t/data/SPECS/split-transactions--strict-require-1/b.spec
new file mode 100644
index 00000000..337a7807
--- /dev/null
+++ b/t/data/SPECS/split-transactions--strict-require-1/b.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/split-transactions--strict-require-2/a.spec b/t/data/SPECS/split-transactions--strict-require-2/a.spec
index b0345d65..8c506dea 100644
--- a/t/data/SPECS/split-transactions--strict-require-2/a.spec
+++ b/t/data/SPECS/split-transactions--strict-require-2/a.spec
@@ -1,11 +1,11 @@
Summary: x
Name: a
-Version: 1
+Version: 2
Release: 1
License: x
Group: x
Url: x
-Requires: b
+Requires: b = 2
BuildRoot: %{_tmppath}/%{name}
%description
diff --git a/t/data/SPECS/split-transactions--strict-require-2/b.spec b/t/data/SPECS/split-transactions--strict-require-2/b.spec
index 9986a114..61c0beca 100644
--- a/t/data/SPECS/split-transactions--strict-require-2/b.spec
+++ b/t/data/SPECS/split-transactions--strict-require-2/b.spec
@@ -5,8 +5,6 @@ Release: 1
License: x
Group: x
Url: x
-Requires: c = %{version}
-Obsoletes: bb
BuildRoot: %{_tmppath}/%{name}
%description
diff --git a/t/data/SPECS/split-transactions--strict-require-and-obsolete-1/a.spec b/t/data/SPECS/split-transactions--strict-require-and-obsolete-1/a.spec
new file mode 100644
index 00000000..b0345d65
--- /dev/null
+++ b/t/data/SPECS/split-transactions--strict-require-and-obsolete-1/a.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: a
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+Requires: b
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/split-transactions--strict-require-1/bb.spec b/t/data/SPECS/split-transactions--strict-require-and-obsolete-1/bb.spec
index 4d3a9673..4d3a9673 100644
--- a/t/data/SPECS/split-transactions--strict-require-1/bb.spec
+++ b/t/data/SPECS/split-transactions--strict-require-and-obsolete-1/bb.spec
diff --git a/t/data/SPECS/split-transactions--strict-require-1/c-1.spec b/t/data/SPECS/split-transactions--strict-require-and-obsolete-1/c-1.spec
index 21381cf9..21381cf9 100644
--- a/t/data/SPECS/split-transactions--strict-require-1/c-1.spec
+++ b/t/data/SPECS/split-transactions--strict-require-and-obsolete-1/c-1.spec
diff --git a/t/data/SPECS/split-transactions--strict-require-and-obsolete-2/a.spec b/t/data/SPECS/split-transactions--strict-require-and-obsolete-2/a.spec
new file mode 100644
index 00000000..b0345d65
--- /dev/null
+++ b/t/data/SPECS/split-transactions--strict-require-and-obsolete-2/a.spec
@@ -0,0 +1,14 @@
+Summary: x
+Name: a
+Version: 1
+Release: 1
+License: x
+Group: x
+Url: x
+Requires: b
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/split-transactions--strict-require-and-obsolete-2/b.spec b/t/data/SPECS/split-transactions--strict-require-and-obsolete-2/b.spec
new file mode 100644
index 00000000..9986a114
--- /dev/null
+++ b/t/data/SPECS/split-transactions--strict-require-and-obsolete-2/b.spec
@@ -0,0 +1,15 @@
+Summary: x
+Name: b
+Version: 2
+Release: 1
+License: x
+Group: x
+Url: x
+Requires: c = %{version}
+Obsoletes: bb
+BuildRoot: %{_tmppath}/%{name}
+
+%description
+x
+
+%files
diff --git a/t/data/SPECS/split-transactions--strict-require-2/c-2.spec b/t/data/SPECS/split-transactions--strict-require-and-obsolete-2/c-2.spec
index 3ede1e1e..3ede1e1e 100644
--- a/t/data/SPECS/split-transactions--strict-require-2/c-2.spec
+++ b/t/data/SPECS/split-transactions--strict-require-and-obsolete-2/c-2.spec
diff --git a/t/superuser--split-transactions--strict-require-and-obsolete.t b/t/superuser--split-transactions--strict-require-and-obsolete.t
new file mode 100644
index 00000000..6ad4aec9
--- /dev/null
+++ b/t/superuser--split-transactions--strict-require-and-obsolete.t
@@ -0,0 +1,33 @@
+#!/usr/bin/perl
+
+# a requires b : bb or b
+# bb requires c-1
+# b requires c-2
+# b obsoletes bb
+#
+# upgrading { bb, c-1 } to { b, c-2 } must be done in the same transaction,
+# otherwise { c-1 } to { c-2 } implies removing { a, bb }
+use strict;
+use lib '.', 't';
+use helper;
+use urpm::util;
+use Test::More 'no_plan';
+
+need_root_and_prepare();
+
+my $name = 'split-transactions--strict-require-and-obsolete';
+urpmi_addmedia("$name-1 $::pwd/media/$name-1");
+urpmi_addmedia("$name-2 $::pwd/media/$name-2");
+
+test('--split-length 0');
+test('--split-level 1'); # was broken (#31969)
+
+sub test {
+ my ($option) = @_;
+
+ urpmi("--media $name-1 --auto a");
+ check_installed_fullnames('a-1-1', 'bb-1-1', 'c-1-1');
+
+ urpmi("--media $name-2 $option --auto --auto-select");
+ check_installed_fullnames_and_remove('a-1-1', 'b-2-1', 'c-2-1');
+}
diff --git a/t/superuser--split-transactions--strict-require.t b/t/superuser--split-transactions--strict-require.t
index f89947d8..f1493857 100644
--- a/t/superuser--split-transactions--strict-require.t
+++ b/t/superuser--split-transactions--strict-require.t
@@ -1,12 +1,8 @@
#!/usr/bin/perl
-# a requires b : bb or b
-# bb requires c-1
-# b requires c-2
-# b obsoletes bb
+# a-1 requires b-1
+# a-2 requires b-2
#
-# upgrading { bb, c-1 } to { b, c-2 } must be done in the same transaction,
-# otherwise { c-1 } to { c-2 } implies removing { a, bb }
use strict;
use lib '.', 't';
use helper;
@@ -19,15 +15,18 @@ my $name = 'split-transactions--strict-require';
urpmi_addmedia("$name-1 $::pwd/media/$name-1");
urpmi_addmedia("$name-2 $::pwd/media/$name-2");
-test('--split-length 0');
-test('--split-level 1'); # was broken (#31969)
+test('--split-length 0 b');
+test('--split-level 1 b');
+
+test('--split-length 0 --auto-select');
+test('--split-level 1 --auto-select');
sub test {
- my ($option) = @_;
+ my ($para) = @_;
- urpmi("--media $name-1 --auto a");
- check_installed_fullnames('a-1-1', 'bb-1-1', 'c-1-1');
+ urpmi("--media $name-1 --auto a b");
+ check_installed_names('a', 'b');
- urpmi("--media $name-2 $option --auto --auto-select");
- check_installed_fullnames_and_remove('a-1-1', 'b-2-1', 'c-2-1');
+ urpmi("--media $name-2 --auto $para");
+ check_installed_fullnames_and_remove('a-2-1', 'b-2-1');
}