From dc5524b0906cf3111c49cd16396b22668b6d7ee2 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Thu, 9 Aug 2007 14:04:25 +0000 Subject: - urpmi o explicit error when using "urpmi ---install-src" as user with remote media o add support for "suggests": a newly suggested package is installed as if required, but one can remove it afterwards, or use --no-suggests - urpmf o handle --suggests all the work is done in perl-URPM 1.69 --- t/superuser--suggests.t | 75 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 t/superuser--suggests.t (limited to 't/superuser--suggests.t') diff --git a/t/superuser--suggests.t b/t/superuser--suggests.t new file mode 100644 index 00000000..b3e897cc --- /dev/null +++ b/t/superuser--suggests.t @@ -0,0 +1,75 @@ +#!/usr/bin/perl + +use strict; +use lib '.', 't'; +use helper; +use Expect; +use urpm::util; +use Test::More 'no_plan'; + +need_root_and_prepare(); + +my $medium_name = 'suggests'; + +urpmi_addmedia("$medium_name $::pwd/media/$medium_name"); + +test_b(); +test_c(); +test_invalid(); +test_upgrade(); + +sub test_b { + test('b', ['bb'], ['suggested_b']); + test_2('bb', [], 'b', [], []); +} + +sub test_c { + test('c', [], ['cc', 'b', 'bb', 'suggested_b']); + test_2('b', ['bb'], 'c', [], ['cc']); + test_2('bb', [], 'c', [], ['cc', 'b']); +} + +sub test_invalid { + urpmi("--auto with-invalid"); + check_installed_and_remove('with-invalid'); +} + +sub test { + my ($name, $required, $suggested) = @_; + urpmi("--no-suggests --auto $name"); + check_installed_and_remove($name, @$required); + urpmi("--auto $name"); + check_installed_names($name, @$required, @$suggested); + urpme("$name @$required"); + check_installed_and_remove(@$suggested); +} + +sub test_2 { + my ($name1, $required1, $name2, $required2, $suggested2) = @_; + + urpmi("--no-suggests --auto $name1"); + check_installed_names($name1, @$required1); + urpmi("--no-suggests --auto $name2"); + check_installed_and_remove($name1, @$required1, $name2, @$required2); + + urpmi("--no-suggests --auto $name1"); + check_installed_names($name1, @$required1); + urpmi("--auto $name2"); + check_installed_and_remove($name1, @$required1, $name2, @$required2, @$suggested2); +} + +sub test_upgrade { + urpmi(" --auto a-1"); + check_installed_names('a', 'suggested_b'); + urpmi(" --auto a-2"); + check_installed_names('a', 'suggested_b', 'suggested_c'); + urpmi(" --auto a-3"); + check_installed_and_remove('a', 'suggested_b', 'suggested_c'); + + urpmi("--no-suggests --auto a-1"); + check_installed_names('a'); + urpmi(" --auto a-2"); + check_installed_names('a', 'suggested_c'); + urpmi(" --auto a-3"); + check_installed_and_remove('a', 'suggested_c'); +} -- cgit v1.2.1