my $opt_analyse_cmd = undef;
my $opt_resetup_env = undef;
my $opt_bindir = undef;
+my $opt_no_lazy_setup = undef;
my $srcdir = ".";
my $builddir = ".";
'testenv' => \$opt_testenv,
'ldap:s' => \$ldap,
'analyse-cmd=s' => \$opt_analyse_cmd,
+ 'no-lazy-setup' => \$opt_no_lazy_setup,
'resetup-environment' => \$opt_resetup_env,
'bindir:s' => \$opt_bindir,
);
my $testsdir = "$srcdir/selftest";
$ENV{CONFIGURATION} = "--configfile=$conffile";
+my %required_envs = ();
if ($opt_quick) {
open(IN, "$testsdir/tests_quick.sh|");
$env =~ s/\n//g;
my $cmdline = <IN>;
$cmdline =~ s/\n//g;
- push (@todo, [$name, $env, $cmdline])
- if (not defined($tests) or $name =~ /$tests/);
+ if (not defined($tests) or $name =~ /$tests/) {
+ $required_envs{$env} = 1;
+ push (@todo, [$name, $env, $cmdline]);
+ }
} else {
print;
}
$msg_ops = $plain_msg_ops;
}
+if ($opt_no_lazy_setup) {
+ setup_env($_) foreach (keys %required_envs);
+}
+
if ($opt_testenv) {
my $testenv_name = $ENV{SELFTEST_TESTENV};
$testenv_name = "dc" unless defined($testenv_name);