summaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
Diffstat (limited to 't')
-rw-r--r--t/helper.pm26
-rw-r--r--t/superuser--addmedia.t22
2 files changed, 48 insertions, 0 deletions
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));
+}