X-Git-Url: http://sjero.net/git/?a=blobdiff_plain;f=tests%2FFTPTest.pm;h=c1d3d266cf0f692e0d7cad62f8ce9c92c981c767;hb=38a7829dcb4eb5dba28dbf0f05c6a80fea9217f8;hp=01c738d48a59a3515ff7467579f70dbd57293f4e;hpb=9b593768f79f045ebfb8fe23da33ad2678a390bb;p=wget diff --git a/tests/FTPTest.pm b/tests/FTPTest.pm index 01c738d4..c1d3d266 100644 --- a/tests/FTPTest.pm +++ b/tests/FTPTest.pm @@ -1,20 +1,19 @@ -#!/usr/bin/perl -w - package FTPTest; use strict; +use warnings; use FTPServer; -use Test; +use WgetTest; -our @ISA = qw(Test); +our @ISA = qw(WgetTest); my $VERSION = 0.01; { my %_attr_data = ( # DEFAULT ); - + sub _default_for { my ($self, $attr) = @_; @@ -22,28 +21,23 @@ my $VERSION = 0.01; return $self->SUPER::_default_for($attr); } - sub _standard_keys + sub _standard_keys { my ($self) = @_; ($self->SUPER::_standard_keys(), keys %_attr_data); } } - + sub _setup_server { my $self = shift; - foreach my $url (keys %{$self->{_input}}) { - my $filename = $url; - $filename =~ s/^\///; - open (FILE, ">$filename") - or return "Test failed: cannot open input file $filename\n"; - - print FILE $self->{_input}->{$url}->{content} - or return "Test failed: cannot write input file $filename\n"; - - close (FILE); - } + $self->{_server} = FTPServer->new (input => $self->{_input}, + server_behavior => + $self->{_server_behavior}, + LocalAddr => 'localhost', + ReuseAddr => 1, + rootDir => "$self->{_workdir}/$self->{_name}/input") or die "Cannot create server!!!"; } @@ -51,11 +45,14 @@ sub _launch_server { my $self = shift; my $synch_func = shift; - my $server = FTPServer->new (LocalAddr => 'localhost', - LocalPort => '8021', - ReuseAddr => 1, - rootDir => "$self->{_workdir}/$self->{_name}/input") or die "Cannot create server!!!"; - $server->run ($synch_func); + $self->{_server}->run ($synch_func); +} + +sub _substitute_port { + my $self = shift; + my $ret = shift; + $ret =~ s/{{port}}/$self->{_server}->sockport/eg; + return $ret; } 1;