Skip to content
Snippets Groups Projects
Commit 989ff585 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

allows simple custom modifications for single test cases

parent f589c1c0
No related branches found
No related tags found
No related merge requests found
......@@ -298,6 +298,24 @@ sub PORT_command {
$SIG{CHLD} = \&REAPER;
my %customreply;
sub customize {
open(CUSTOM, "<log/ftpserver.cmd") ||
return 1;
if($verbose) {
print STDERR "FTPD: Getting commands from log/ftpserver.cmd\n";
}
undef %customreply;
while(<CUSTOM>) {
if($_ =~ /REPLY ([A-Z]+) (.*)/) {
$customreply{$1}=$2;
}
}
close(CUSTOM);
}
my @welcome=(
'220- _ _ ____ _ '."\r\n",
'220- ___| | | | _ \| | '."\r\n",
......@@ -327,6 +345,8 @@ for ( $waitedpid = 0;
FTPLOG->autoflush(1);
INPUT->autoflush(1);
&customize(); # read test control instructions
print @welcome;
my $state="fresh";
......@@ -367,16 +387,24 @@ for ( $waitedpid = 0;
$state = $newstate;
}
my $text = $displaytext{$FTPCMD};
my $text;
$text = $customreply{$FTPCMD};
my $fake = $text;
if($text eq "") {
$text = $displaytext{$FTPCMD};
}
if($text) {
print "$text\r\n";
}
# see if the new state is a function caller.
my $func = $commandfunc{$FTPCMD};
if($func) {
# it is!
\&$func($FTPARG);
if($fake eq "") {
# only perform this if we're not faking a reply
# see if the new state is a function caller.
my $func = $commandfunc{$FTPCMD};
if($func) {
# it is!
\&$func($FTPARG);
}
}
logmsg "set to state $state\n";
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment