aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2009-05-04 10:30:23 +0000
committerYang Tse <yangsita@gmail.com>2009-05-04 10:30:23 +0000
commitff3e574187d8a4b7968daedf23741f80c3b714e0 (patch)
treec763ad89901466e95695caf4c7fca5aa3eb9dff3
parent4422f80ae7e8fbc80ea3f6f4eff3c7d7950dc82f (diff)
David McCreedy's patch to fix test suite harness to allow test FTP server and client on different machines, providing FTP client address when running the FTP test server.
-rw-r--r--CHANGES4
-rw-r--r--TODO-RELEASE3
-rw-r--r--tests/ftpserver.pl10
-rwxr-xr-xtests/runtests.pl8
4 files changed, 18 insertions, 7 deletions
diff --git a/CHANGES b/CHANGES
index c7a8ab375..bef9b1262 100644
--- a/CHANGES
+++ b/CHANGES
@@ -14,6 +14,10 @@ Yang Tse (4 May 2009)
the protocol portions are mangled from CRLF to CRCRLF if data->set.crlf or
data->set.prefer_ascii are set (depending on CURL_DO_LINEEND_CONV).
+- Applied David McCreedy's patch to fix test suite harness to allow test FTP
+ server and client on different machines, providing FTP client address when
+ running the FTP test server.
+
Daniel Fandrich (3 May 2009)
- Added and disabled test case 563 which shows KNOWN_BUGS #59. The bug
report failed to mention that a proxy must be used to reproduce it.
diff --git a/TODO-RELEASE b/TODO-RELEASE
index 904115718..1e07db3dd 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -9,9 +9,6 @@ To be addressed in 7.19.5 (planned release: May 2009)
228 - rpath problems in linking with custom openssl
-233 - [PATCH] Allow Curl test suite test #251 to work if client and server
- are on different machines
-
234 - [PATCH] Allow various Curl test suite tests to work on non-ASCII
platforms
diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl
index f2acd72d8..63826adcc 100644
--- a/tests/ftpserver.pl
+++ b/tests/ftpserver.pl
@@ -83,6 +83,7 @@ my $ext; # append to log/pid file names
my $grok_eprt;
my $port = 8921; # just a default
my $listenaddr = "127.0.0.1"; # just a default
+my $client;
my $pidfile = ".ftpd.pid"; # a default, use --pidfile
my $SERVERLOGS_LOCK="log/serverlogs.lock"; # server logs advisor read lock
@@ -114,7 +115,12 @@ do {
}
elsif($ARGV[0] eq "--addr") {
$listenaddr = $ARGV[1];
- $listenaddr =~ s/^\[(.*)\]$/\1/;
+ $listenaddr =~ s/^\[(.*)\]$/\1/;
+ shift @ARGV;
+ }
+ elsif($ARGV[0] eq "--client") {
+ $client = $ARGV[1];
+ $client =~ s/^\[(.*)\]$/\1/;
shift @ARGV;
}
} while(shift @ARGV);
@@ -705,7 +711,7 @@ sub PORT_command {
# We fire up a new sockfilt to do the data transfer for us.
# FIX: make it use IPv6 if need be
- my $filtcmd="./server/sockfilt --connect $port --addr $addr --logfile log/sockdata$ftpdnum$ext.log --pidfile .sockdata$ftpdnum$ext.pid $ipv6";
+ my $filtcmd="./server/sockfilt --connect $port --addr $client --logfile log/sockdata$ftpdnum$ext.log --pidfile .sockdata$ftpdnum$ext.pid $ipv6";
$slavepid = open2(\*DREAD, \*DWRITE, $filtcmd);
print STDERR "$filtcmd\n" if($verbose);
diff --git a/tests/runtests.pl b/tests/runtests.pl
index 467b70670..47dfd0e28 100755
--- a/tests/runtests.pl
+++ b/tests/runtests.pl
@@ -943,6 +943,8 @@ sub runftpserver {
my $ip=$HOSTIP;
my $nameext;
my $cmd;
+ my $addr;
+ my $addr_client;
if($ipv6) {
# if IPv6, use a different setup
@@ -966,18 +968,20 @@ sub runftpserver {
# start our server:
my $flag=$debugprotocol?"-v ":"";
$flag .= "-s \"$srcdir\" ";
- my $addr;
if($id) {
$flag .="--id $id ";
}
if($ipv6) {
$flag .="--ipv6 ";
$addr = $HOST6IP;
+ $addr_client = $CLIENT6IP;
} else {
$addr = $HOSTIP;
+ $addr_client = $CLIENTIP;
}
- $cmd="$perl $srcdir/ftpserver.pl --pidfile $pidfile $flag --port $port --addr \"$addr\"";
+ $cmd="$perl $srcdir/ftpserver.pl --pidfile $pidfile $flag --port $port --addr \"$addr\" --client \"$addr_client\"";
+
my ($ftppid, $pid2) = startnew($cmd, $pidfile, 15, 0);
if($ftppid <= 0 || !kill(0, $ftppid)) {