mirror of
https://github.com/curl/curl.git
synced 2024-11-21 01:16:58 +08:00
improved functionality for new timeout tests
This commit is contained in:
parent
f34573c8e2
commit
3bfa06c9a2
@ -23,6 +23,14 @@ if the data is sent but this is what should be checked afterwards
|
||||
<size>
|
||||
number to return on a ftp SIZE command
|
||||
</size>
|
||||
<cmd>
|
||||
special purpose server-command to control its behavior *before* the
|
||||
reply is sent
|
||||
</cmd>
|
||||
<postcmd>
|
||||
special purpose server-command to control its behavior *after* the
|
||||
reply is sent
|
||||
</oistcmd>
|
||||
</reply>
|
||||
|
||||
<client>
|
||||
|
@ -326,6 +326,7 @@ sub PORT_command {
|
||||
$SIG{CHLD} = \&REAPER;
|
||||
|
||||
my %customreply;
|
||||
my %delayreply;
|
||||
sub customize {
|
||||
undef %customreply;
|
||||
open(CUSTOM, "<log/ftpserver.cmd") ||
|
||||
@ -337,6 +338,9 @@ sub customize {
|
||||
if($_ =~ /REPLY ([A-Z]+) (.*)/) {
|
||||
$customreply{$1}=$2;
|
||||
}
|
||||
elsif($_ =~ /DELAY ([A-Z]+) (\d*)/) {
|
||||
$delayreply{$1}=$2;
|
||||
}
|
||||
}
|
||||
close(CUSTOM);
|
||||
}
|
||||
@ -416,6 +420,12 @@ for ( $waitedpid = 0;
|
||||
$state = $newstate;
|
||||
}
|
||||
|
||||
my $delay = $delayreply{$FTPCMD};
|
||||
if($delay) {
|
||||
# just go sleep this many seconds!
|
||||
sleep($delay);
|
||||
}
|
||||
|
||||
my $text;
|
||||
$text = $customreply{$FTPCMD};
|
||||
my $fake = $text;
|
||||
|
@ -50,6 +50,16 @@ sub REAPER {
|
||||
logmsg "reaped $waitedpid" . ($? ? " with exit $?" : '');
|
||||
}
|
||||
|
||||
sub performcmd {
|
||||
my @cmd = @_;
|
||||
for(@cmd) {
|
||||
if($_ =~ /^ *wait *(\d*)/) {
|
||||
# instructed to sleep!
|
||||
sleep($1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$SIG{CHLD} = \&REAPER;
|
||||
|
||||
for ( $waitedpid = 0;
|
||||
@ -164,6 +174,14 @@ for ( $waitedpid = 0;
|
||||
}
|
||||
|
||||
loadtest("data/test$testnum");
|
||||
|
||||
|
||||
my @cmd = getpart("reply", "cmd");
|
||||
performcmd(@cmd);
|
||||
|
||||
# flush data:
|
||||
$| = 1;
|
||||
|
||||
# send a custom reply to the client
|
||||
my @data = getpart("reply", "data$part");
|
||||
for(@data) {
|
||||
@ -172,6 +190,8 @@ for ( $waitedpid = 0;
|
||||
print STDERR "OUT: $_";
|
||||
}
|
||||
}
|
||||
my @postcmd = getpart("reply", "postcmd");
|
||||
performcmd(@postcmd);
|
||||
}
|
||||
}
|
||||
# print "Hello there, $name, it's now ", scalar localtime, "\r\n";
|
||||
|
Loading…
Reference in New Issue
Block a user