From df55c40c5806b754c3ca717a3d79a853c2c9982c Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Thu, 14 Feb 2008 10:47:50 +0000 Subject: - urpmi handles /etc/urpmi/media.d/*.cfg as an alternative to using urpmi.addmedia nb: need documentation --- t/helper.pm | 26 ++++++++++++++++++++++++++ t/superuser--addmedia.t | 22 ++++++++++++++++++++++ 2 files changed, 48 insertions(+) (limited to 't') diff --git a/t/helper.pm b/t/helper.pm index 870baa2b..edf787d3 100644 --- a/t/helper.pm +++ b/t/helper.pm @@ -7,6 +7,7 @@ our @EXPORT = qw(need_root_and_prepare urpmi_addmedia urpmi_removemedia urpmi_update urpm_cmd run_urpm_cmd urpmi_cmd urpmi test_urpmi_fail urpme urpmi_cfg set_urpmi_cfg_global_options + create_media_d_cfg media_d_cfg system_ system_should_fail rpm_is_jbj_version check_installed_fullnames check_installed_names check_nothing_installed @@ -101,6 +102,31 @@ sub set_urpmi_cfg_global_options { ok(urpm::cfg::dump_config(urpmi_cfg(), $config), 'set_urpmi_cfg_global_options'); } +sub media_d_dir { + "$::pwd/root/etc/urpmi/media.d"; +} +sub media_d_cfg { + my ($name) = @_; + media_d_dir() . "/$name.cfg"; +} +sub create_media_d_cfg { + my ($name, @l) = @_; + + system("install -d " . media_d_dir()); + my $cfg = media_d_cfg($name); + -e $cfg and die "$cfg already exists\n"; + open(my $F, '>', $cfg); + + my $cnt = 1; + foreach my $h (@l) { + my %h = %$h; + my $section = delete $h{conf_file__rel_media} || $cnt++; + print $F "[$section]\n"; + print $F "$_ = $h->{$_}\n" foreach keys %$h; + } +} + + sub system_ { my ($cmd) = @_; system($cmd); diff --git a/t/superuser--addmedia.t b/t/superuser--addmedia.t index 63b9fb34..f6701a3e 100644 --- a/t/superuser--addmedia.t +++ b/t/superuser--addmedia.t @@ -14,6 +14,9 @@ my $name3 = 'various3'; my @fields = qw(hdlist synthesis with_synthesis media_info_dir no-media-info list virtual ignore); +try_media_d_1(); +try_media_d_2(); + try_medium({}, ''); @@ -150,3 +153,22 @@ sub check_urpmi { urpmi(join(' ', @names)); check_installed_and_remove(@names); } + +sub try_media_d_1 { + create_media_d_cfg($name, { name => $name, url => "$::pwd/media/$name" }); + check_urpmi($name); + + create_media_d_cfg($name2, { name => $name2, url => "$::pwd/media/$name2" }); + check_urpmi($name2); + + ok(unlink media_d_cfg($name)); + ok(unlink media_d_cfg($name2)); +} +sub try_media_d_2 { + create_media_d_cfg($name, + { name => $name, url => "$::pwd/media/$name" }, + { name => $name2, url => "$::pwd/media/$name2" }); + check_urpmi($name, $name2); + + ok(unlink media_d_cfg($name)); +} -- cgit v1.2.1