]> granicus.if.org Git - curl/commitdiff
David McCreedy's patch to fix test suite harness to allow test FTP server and client...
authorYang Tse <yangsita@gmail.com>
Mon, 4 May 2009 10:30:23 +0000 (10:30 +0000)
committerYang Tse <yangsita@gmail.com>
Mon, 4 May 2009 10:30:23 +0000 (10:30 +0000)
CHANGES
TODO-RELEASE
tests/ftpserver.pl
tests/runtests.pl

diff --git a/CHANGES b/CHANGES
index c7a8ab3754054040f4b3d0dbbdf2383f2e934f73..bef9b126244d0bcbd82930849090022d614717dc 100644 (file)
--- 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.
index 9041157183571f9c29c0a00b09e0bdab70b2ed9c..1e07db3dd155f9e1db8f23ae6b913671d07559b6 100644 (file)
@@ -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
 
index f2acd72d8b3faeb067b0a2867d85dbd6afae7c8f..63826adccb98c587ce6bd722982d2568ad63f239 100644 (file)
@@ -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);
index 467b706707fbd591b3f1c8fdece044a80a5aca80..47dfd0e28f571606e687d2058b8b5eb6eeb3bdd4 100755 (executable)
@@ -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)) {