]> sjero.net Git - wget/blob - tests/FTPTest.pm
Rewrote FTPServer.pm to avoid filesystem; added Test-ftp-recursive.px.
[wget] / tests / FTPTest.pm
1 package FTPTest;
2
3 use strict;
4 use warnings;
5
6 use FTPServer;
7 use WgetTest;
8
9 our @ISA = qw(WgetTest);
10 my $VERSION = 0.01;
11
12
13 {
14     my %_attr_data = ( # DEFAULT
15     );
16
17     sub _default_for
18     {
19         my ($self, $attr) = @_;
20         return $_attr_data{$attr} if exists $_attr_data{$attr};
21         return $self->SUPER::_default_for($attr);
22     }
23
24     sub _standard_keys 
25     {
26         my ($self) = @_;
27         ($self->SUPER::_standard_keys(), keys %_attr_data);
28     }
29 }
30
31
32 sub _setup_server {
33     my $self = shift;
34
35     $self->{_server} = FTPServer->new (input => $self->{_input},
36                                        LocalAddr => 'localhost',
37                                        ReuseAddr => 1,
38                                        rootDir => "$self->{_workdir}/$self->{_name}/input") or die "Cannot create server!!!";
39 }
40
41
42 sub _launch_server {
43     my $self = shift;
44     my $synch_func = shift;
45
46     $self->{_server}->run ($synch_func);
47 }
48
49 sub _substitute_port {
50     my $self = shift;
51     my $ret = shift;
52     $ret =~ s/{{port}}/$self->{_server}->sockport/eg;
53     return $ret;
54 }
55
56 1;
57
58 # vim: et ts=4 sw=4
59