summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-04-14 22:52:08 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-04-14 22:52:08 +0000
commitcd1144dc24dd119ddabd88682e581d183bc90091 (patch)
tree0b41c1ec6834d25e2112909ec1eee5539df1cc6c
parente9d068b913fd972bda6d1c2366bb1dcd6eb8e31f (diff)
downloadgnurl-cd1144dc24dd119ddabd88682e581d183bc90091.tar.gz
gnurl-cd1144dc24dd119ddabd88682e581d183bc90091.tar.bz2
gnurl-cd1144dc24dd119ddabd88682e581d183bc90091.zip
make the ftp server support reply/servercmd, and make SLOWDOWN work, and
update the docs accordingly
-rw-r--r--tests/FILEFORMAT18
-rw-r--r--tests/ftpserver.pl7
-rwxr-xr-xtests/runtests.pl4
3 files changed, 19 insertions, 10 deletions
diff --git a/tests/FILEFORMAT b/tests/FILEFORMAT
index 30f539b8f..1225a367c 100644
--- a/tests/FILEFORMAT
+++ b/tests/FILEFORMAT
@@ -57,18 +57,22 @@ number to return on a ftp SIZE command (set to -1 to make this command fail)
what to send back if the client sends a (FTP) MDTM command, set to -1 to
have it return that the file doesn't exist
</mdtm>
-<servercmd>
-special purpose server-command to control its behavior *before* the
-reply is sent:
-
-auth_required - server fails if no auth is provided
-</servercmd>
<postcmd>
special purpose server-command to control its behavior *after* the
reply is sent
</postcmd>
<servercmd>
- equivalent to <cmd> but for HTTP, one specified command is supported:
+Special-commands for the server.
+For FTP, these are supported:
+REPLY
+COUNT
+DELAY
+RETRWEIRDO
+RETRNOSIZE
+NOSAVE
+SLOWDOWN
+
+For HTTP, one specified command is supported:
"auth_required" - if this is set and a POST/PUT is made without auth, the
server will NOT wait for the full request body to get sent
</servercmd>
diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl
index 7358ca297..e51bfeee6 100644
--- a/tests/ftpserver.pl
+++ b/tests/ftpserver.pl
@@ -118,7 +118,7 @@ sub sendcontrol {
for(@a) {
print $_;
- select(undef, undef, undef, 0.1);
+ select(undef, undef, undef, 0.02);
}
}
@@ -544,6 +544,7 @@ sub customize {
undef %customreply;
$nosave = 0; # default is to save as normal
+ $controldelay = 0; # default is no delaying the responses
open(CUSTOM, "<log/ftpserver.cmd") ||
return 1;
@@ -565,6 +566,10 @@ sub customize {
$delayreply{$1}=$2;
logmsg "FTPD: delay reply for $1 with $2 seconds\n";
}
+ elsif($_ =~ /SLOWDOWN/) {
+ $controldelay=1;
+ logmsg "FTPD: send response with 0.1 sec delay between each byte\n";
+ }
elsif($_ =~ /RETRWEIRDO/) {
logmsg "FTPD: instructed to use RETRWEIRDO\n";
$retrweirdo=1;
diff --git a/tests/runtests.pl b/tests/runtests.pl
index 4c71f1324..221013410 100755
--- a/tests/runtests.pl
+++ b/tests/runtests.pl
@@ -1067,8 +1067,8 @@ sub singletest {
# if this section exists, we verify upload
my @upload = getpart("verify", "upload");
- # if this section exists, it is FTP server instructions:
- my @ftpservercmd = getpart("server", "instruction");
+ # if this section exists, it might be FTP server instructions:
+ my @ftpservercmd = getpart("reply", "servercmd");
my $CURLOUT="$LOGDIR/curl$testnum.out"; # curl output if not stdout