From c0ac3d26abcb1c37707caa7ac8a167262aa9b9a9 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 30 Apr 2007 12:48:42 +0000 Subject: r22605: Set up all required environments before starting tests. (This used to be commit adf835a32440b4a531ce27a78920df945eca1ba8) --- source4/selftest/selftest.pl | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/selftest.pl b/source4/selftest/selftest.pl index 104fc7d15f..b60613da64 100755 --- a/source4/selftest/selftest.pl +++ b/source4/selftest/selftest.pl @@ -134,6 +134,7 @@ my $ldap = undef; my $opt_analyse_cmd = undef; my $opt_resetup_env = undef; my $opt_bindir = undef; +my $opt_no_lazy_setup = undef; my $srcdir = "."; my $builddir = "."; @@ -454,6 +455,7 @@ my $result = GetOptions ( '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, ); @@ -647,6 +649,7 @@ my @todo = (); my $testsdir = "$srcdir/selftest"; $ENV{CONFIGURATION} = "--configfile=$conffile"; +my %required_envs = (); if ($opt_quick) { open(IN, "$testsdir/tests_quick.sh|"); @@ -661,8 +664,10 @@ while () { $env =~ s/\n//g; my $cmdline = ; $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; } @@ -777,6 +782,10 @@ if ($from_build_farm) { $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); -- cgit