aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)) {