diff options
5 files changed, 73 insertions, 0 deletions
diff --git a/t/data/SPECS/split-transactions--strict-require-1/d.spec b/t/data/SPECS/split-transactions--strict-require-1/d.spec new file mode 100644 index 00000000..6badceb2 --- /dev/null +++ b/t/data/SPECS/split-transactions--strict-require-1/d.spec @@ -0,0 +1,14 @@ +Summary: x +Name: d +Version: 1 +Release: 1 +License: x +Group: x +Url: x +Requires: dd = %version +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%files diff --git a/t/data/SPECS/split-transactions--strict-require-1/dd.spec b/t/data/SPECS/split-transactions--strict-require-1/dd.spec new file mode 100644 index 00000000..c89f2aeb --- /dev/null +++ b/t/data/SPECS/split-transactions--strict-require-1/dd.spec @@ -0,0 +1,13 @@ +Summary: x +Name: dd +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/d.spec b/t/data/SPECS/split-transactions--strict-require-2/d.spec new file mode 100644 index 00000000..e830942e --- /dev/null +++ b/t/data/SPECS/split-transactions--strict-require-2/d.spec @@ -0,0 +1,14 @@ +Summary: x +Name: d +Version: 2 +Release: 1 +License: x +Group: x +Url: x +Requires: dd = %version +BuildRoot: %{_tmppath}/%{name} + +%description +x + +%files diff --git a/t/data/SPECS/split-transactions--strict-require-2/dd.spec b/t/data/SPECS/split-transactions--strict-require-2/dd.spec new file mode 100644 index 00000000..3f7e55e9 --- /dev/null +++ b/t/data/SPECS/split-transactions--strict-require-2/dd.spec @@ -0,0 +1,13 @@ +Summary: x +Name: dd +Version: 2 +Release: 1 +License: x +Group: x +Url: x +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 7ccfeff3..f8f5bd38 100644 --- a/t/superuser--split-transactions--strict-require.t +++ b/t/superuser--split-transactions--strict-require.t @@ -4,6 +4,9 @@ # b-1 requires c-1 # a-2 requires c-2, no b-2 # +# d-1 requires dd-1 +# d-2 requires dd-2 +# use strict; use lib '.', 't'; use helper; @@ -21,6 +24,10 @@ test('--split-level 1'); # ERROR: should not use a big transaction test_c('--split-level 1'); +# test_d(); +# ERROR: urpmi goes crazy, saying: +# The following package has to be removed for others to be upgraded: d-2-1 (in order to install d-2-1) + sub test { my ($option) = @_; @@ -40,3 +47,15 @@ sub test_c { urpmi("--media $name-2 --auto $option c"); check_installed_fullnames_and_remove('c-2-1'); # WARNING: a-2 could be promoted } + +sub test_d { + urpmi("--media $name-1 --auto d"); + + # here d-2 is installed without its requirement dd-2 + system_("rpm --root $::pwd/root -i media/$name-2/d-2-*.rpm --nodeps"); + # we now have both d-1 and d-2 installed, which urpmi doesn't like much + check_installed_fullnames('d-1-1', 'dd-1-1', 'd-2-1'); + + urpmi("--media $name-2 --auto-select --auto"); + check_installed_fullnames_and_remove('d-2-1', 'dd-2-1'); +} |