diff options
Diffstat (limited to 't/superuser--http.t')
-rw-r--r-- | t/superuser--http.t | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/t/superuser--http.t b/t/superuser--http.t index 85ef1d1c..cd934242 100644 --- a/t/superuser--http.t +++ b/t/superuser--http.t @@ -11,10 +11,46 @@ my $url = start_httpd(); my $name = 'various'; -foreach my $medium_name ('various', 'various_no_subdir') { +test($_) foreach 'various', 'various_no_subdir'; +test_exotic_medium_name(); + +sub test { + my ($medium_name) = @_; + urpmi_addmedia("$medium_name $url/media/$medium_name"); urpmi($name); is(`rpm -qa --root $::pwd/root`, "$name-1-1\n"); urpme($name); urpmi_removemedia($medium_name); } + +sub test_exotic_medium_name { + my $medium_name = 'the medium (+name+)'; + urpmi_addmedia("'$medium_name' $url/media/various"); + + # test urpmf/urpmq using synthesis + is(run_urpm_cmd('urpmf --summary .'), "various:various\n"); + is(run_urpm_cmd('urpmq --summary various'), "various : various ( 1-1 )\n"); + + # test urpmf/urpmq using info.xml.lzma as user + mkdir 'root/tmp'; chmod 0777, 'root/tmp'; + is(run_urpm_cmd_as_user('urpmf --sourcerpm .'), "various:various-1-1.src.rpm\n"); + is(run_urpm_cmd_as_user('urpmq --sourcerpm various'), "various: various-1-1.src.rpm\n"); + + # test urpmf/urpmq using info.xml.lzma as root + is(run_urpm_cmd('urpmf --sourcerpm .'), "various:various-1-1.src.rpm\n"); + is(run_urpm_cmd('urpmq --sourcerpm various'), "various: various-1-1.src.rpm\n"); + + urpmi($name); + is(`rpm -qa --root $::pwd/root`, "$name-1-1\n"); + urpme($name); + + urpmi_removemedia("'$medium_name'"); +} + +sub run_urpm_cmd_as_user { + my ($cmd) = @_; + my $full_cmd = "su nobody -c '" . urpm_cmd($cmd). "'"; + warn "# $full_cmd\n"; + `$full_cmd`; +} |