diff options
Diffstat (limited to 't/superuser--provide-and-no-obsolete.t')
-rw-r--r-- | t/superuser--provide-and-no-obsolete.t | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/t/superuser--provide-and-no-obsolete.t b/t/superuser--provide-and-no-obsolete.t new file mode 100644 index 00000000..564bab5c --- /dev/null +++ b/t/superuser--provide-and-no-obsolete.t @@ -0,0 +1,35 @@ +#!/usr/bin/perl + +# a somewhat weird in urpmi that can somehow be workarounded +# +# package "a-1" provides "c-1" +# package "a-2" provides "c-2" +# package "b-3" provides "c-3" +# urpmi should still be able to upgrade "a-1" into "a-2" even in presence of "b-3" +# (which do not obsolete "a" so can't be installed) + +use strict; +use lib '.', 't'; +use helper; +use Test::More 'no_plan'; + +my $medium_name = 'obsolete-and-provide'; + +need_root_and_prepare(); + +urpmi_addmedia("$medium_name $::pwd/media/$medium_name"); + +test(sub { urpmi('a'); check_installed_fullnames("a-2-1"); urpme('a') }); +test(sub { urpmi('b'); check_installed_fullnames("a-1-1", "b-3-1"); urpme('a b') }); + +#- the following test fail. "urpmi --auto-select" should do the same as "urpmi a" +#test(sub { urpmi('--auto-select'); check_installed_fullnames("a-2-1"); urpme('a') }); + +sub test { + my ($f) = @_; + system_("rpm --root $::pwd/root -i media/$medium_name/a-1-*.rpm"); + is(`rpm -qa --root $::pwd/root`, "a-1-1\n"); + + $f->(); + check_nothing_installed(); +} |