1#!perl
2
3use 5.008001;
4
5use strict;
6use warnings;
7
8BEGIN {
9    if (!eval { require Socket }) {
10        print "1..0 # Skip: no Socket\n"; exit 0;
11    }
12    if (ord('A') == 193 && !eval { require Convert::EBCDIC }) {
13        print "1..0 # Skip: EBCDIC but no Convert::EBCDIC\n"; exit 0;
14    }
15}
16
17use Net::Config;
18use Net::FTP;
19
20unless(defined($NetConfig{ftp_testhost})) {
21    print "1..0 # Skip: no ftp_testhost defined in config\n";
22    exit 0;
23}
24
25unless($NetConfig{test_hosts}) {
26    print "1..0 # Skip: test_hosts not enabled in config\n";
27    exit 0;
28}
29
30my $t = 1;
31print "1..7\n";
32
33my $ftp = Net::FTP->new($NetConfig{ftp_testhost})
34        or (print("not ok 1\n"), exit);
35
36printf "ok %d\n",$t++;
37
38$ftp->login('anonymous') or die($ftp->message . "\n");
39printf "ok %d\n",$t++;
40
41$ftp->pwd  or do {
42  print STDERR $ftp->message,"\n";
43  print "not ";
44};
45
46printf "ok %d\n",$t++;
47
48$ftp->cwd('/pub') or do {
49  print STDERR $ftp->message,"\n";
50  print "not ";
51};
52
53my $data;
54if ($data = $ftp->stor('libnet.tst')) {
55  my $text = "abc\ndef\nqwe\n";
56  printf "ok %d\n",$t++;
57  $data->write($text,length $text);
58  $data->close;
59  $data = $ftp->retr('libnet.tst');
60  my $buf;
61  $data->read($buf,length $text);
62  $data->close;
63  print "not " unless $text eq $buf;
64  printf "ok %d\n",$t++;
65  $ftp->delete('libnet.tst') or print "not ";
66  printf "ok %d\n",$t++;
67  
68}
69else {
70  print "# ",$ftp->message,"\n";
71  printf "ok %d\n",$t++;
72  printf "ok %d\n",$t++;
73  printf "ok %d\n",$t++;
74}
75
76$ftp->quit  or do {
77  print STDERR $ftp->message,"\n";
78  print "not ";
79};
80
81printf "ok %d\n",$t++;
82