setenv support added to allow test cases to require a set of environment

variables
This commit is contained in:
Daniel Stenberg 2003-05-19 13:06:10 +00:00
Родитель 95a4b8db68
Коммит 7723a24297
2 изменённых файлов: 36 добавлений и 0 удалений

Просмотреть файл

@ -66,6 +66,14 @@ in the libtest/ directory.
test case description
</name>
<setenv>
variable1=contents1
variable2=contents2
Set the given environment variables to the specified value before the actual
command is run, they are clear again after the command has been run.
</setenv>
<command [option=no-output]>
command line to run, there's a bunch of %variables that get replaced
accordingly. more about them elsewhere

Просмотреть файл

@ -611,6 +611,29 @@ sub singletest {
writearray($FTPDCMD, \@ftpservercmd);
}
my (@setenv)= getpart("client", "setenv");
my @envs;
my $s;
for $s (@setenv) {
chomp $s; # cut off the newline
subVariables \$s;
print "MOO: $s\n";
if($s =~ /([^=]*)=(.*)/) {
my ($var, $content)=($1, $2);
$ENV{$var}=$content;
print "setenv $var to $content\n";
# remember which, so that we can clear them afterwards!
push @envs, $var;
}
}
# get the command line options to use
my ($cmd, @blaha)= getpart("client", "command");
@ -720,6 +743,11 @@ sub singletest {
# remove the special FTP command file after each test!
unlink($FTPDCMD);
my $e;
for $e (@envs) {
$ENV{$e}=""; # clean up
}
my @err = getpart("verify", "errorcode");
my $errorcode = $err[0];