X-Git-Url: http://sjero.net/git/?a=blobdiff_plain;f=tests%2FFTPServer.pm;h=2758ab1e5abdf0956f268b0857fd76f599c4ee7e;hb=4a08094db88011153adadbf995103770b20d2a31;hp=981ddea63d21e680e7934bdfcf6bc6aabd3ac0f3;hpb=544afabb39f03ab2adefdf62b6af51a81503eb58;p=wget diff --git a/tests/FTPServer.pm b/tests/FTPServer.pm index 981ddea6..2758ab1e 100644 --- a/tests/FTPServer.pm +++ b/tests/FTPServer.pm @@ -457,7 +457,7 @@ sub __open_data_connection $_attr_data{$attr}; } - sub _standard_keys + sub _standard_keys { keys %_attr_data; } @@ -562,9 +562,10 @@ sub run print STDERR "in child\n" if $log; - my $conn = { - 'paths' => FTPPaths->new($self->{'_input'}), - 'socket' => $socket, + my $conn = { + 'paths' => FTPPaths->new($self->{'_input'}, + $self->{'_server_behavior'}), + 'socket' => $socket, 'state' => $_connection_states{NEWCONN}, 'dir' => '/', 'restart' => 0, @@ -693,7 +694,7 @@ sub new { } sub initialize { - my ($self, $urls) = @_; + my ($self, $urls, $behavior) = @_; my $paths = {_type => 'd'}; # From a path like '/foo/bar/baz.txt', construct $paths such that @@ -714,6 +715,7 @@ sub initialize { } $self->{'_paths'} = $paths; + $self->{'_behavior'} = $behavior; } sub get_info { @@ -763,6 +765,9 @@ sub _format_for_list { my $size = 0; if ($info->{'_type'} eq 'f') { $size = length $info->{'content'}; + if ($self->{'_behavior'}{'bad_list'}) { + $size = 0; + } } my $date = strftime ("%b %e %H:%M", localtime); return "$mode_str 1 0 0 $size $date $name"; @@ -773,7 +778,7 @@ sub get_list { my $info = $self->get_info($path); return undef unless defined $info; my $list = []; - + if ($info->{'_type'} eq 'd') { for my $item (keys %$info) { next if $item =~ /^_/;