X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=tests%2FFTPServer.pm;h=8c7cada7cd728368631eb3f951a73e62c6938c32;hp=d8ad8b0c919a049f80d9e530237c095c99259153;hb=f0f56db5cb517a44199b3c9819240c8b0a39b4cd;hpb=484ba18aa724d1b502c886e94345016e45886ed6 diff --git a/tests/FTPServer.pm b/tests/FTPServer.pm index d8ad8b0c..8c7cada7 100644 --- a/tests/FTPServer.pm +++ b/tests/FTPServer.pm @@ -748,7 +748,7 @@ sub __wildcard_to_regex { my %_attr_data = ( # DEFAULT _localAddr => 'localhost', - _localPort => 8021, + _localPort => undef, _reuseAddr => 1, _rootDir => Cwd::getcwd(), ); @@ -781,6 +781,16 @@ sub new { $self->{$attrname} = $self->_default_for($attrname); } } + # create server socket + "0" =~ /(0)/; # Perl 5.7 / IO::Socket::INET bug workaround. + $self->{_server_sock} + = IO::Socket::INET->new (LocalHost => $self->{_localAddr}, + LocalPort => $self->{_localPort}, + Listen => 1, + Reuse => $self->{_reuseAddr}, + Proto => 'tcp', + Type => SOCK_STREAM) + or die "bind: $!"; return $self; } @@ -803,21 +813,13 @@ sub run my $old_ils = $/; $/ = "\r\n"; - # create server socket - "0" =~ /(0)/; # Perl 5.7 / IO::Socket::INET bug workaround. - my $server_sock = IO::Socket::INET->new (LocalHost => $self->{_localAddr}, - LocalPort => $self->{_localPort}, - Listen => 1, - Reuse => $self->{_reuseAddr}, - Proto => 'tcp', - Type => SOCK_STREAM) or die "bind: $!"; - if (!$initialized) { $synch_callback->(); $initialized = 1; } $SIG{CHLD} = sub { wait }; + my $server_sock = $self->{_server_sock}; # the accept loop while (my $client_addr = accept (my $socket, $server_sock)) @@ -929,6 +931,11 @@ sub run $/ = $old_ils; } +sub sockport { + my $self = shift; + return $self->{_server_sock}->sockport; +} + 1; # vim: et ts=4 sw=4