1package FTPTest;
2
3use strict;
4use warnings;
5
6use FTPServer;
7use WgetTest;
8
9our @ISA = qw(WgetTest);
10my $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
32sub _setup_server {
33    my $self = shift;
34
35    $self->{_server} = FTPServer->new (input => $self->{_input},
36                                       server_behavior =>
37                                           $self->{_server_behavior},
38                                       LocalAddr => 'localhost',
39                                       ReuseAddr => 1,
40                                       rootDir => "$self->{_workdir}/$self->{_name}/input") or die "Cannot create server!!!";
41}
42
43
44sub _launch_server {
45    my $self = shift;
46    my $synch_func = shift;
47
48    $self->{_server}->run ($synch_func);
49}
50
51sub _substitute_port {
52    my $self = shift;
53    my $ret = shift;
54    $ret =~ s/{{port}}/$self->{_server}->sockport/eg;
55    return $ret;
56}
57
581;
59
60# vim: et ts=4 sw=4
61
62