At file:///home/jelmer/bzr.samba/SAMBA_4_0/ ------------------------------------------------------------ revno: 12058 revision-id: [EMAIL PROTECTED] parent: svn-v2:[EMAIL PROTECTED] committer: Jelmer Vernooij <[EMAIL PROTECTED]> branch nick: SAMBA_4_0 timestamp: Mon 2007-04-30 15:48:15 +0200 message: Set up all required environments before starting tests. modified: source/selftest/selftest.pl svn-v2:[EMAIL PROTECTED] === modified file 'source/selftest/selftest.pl' --- a/source/selftest/selftest.pl 2007-04-29 20:37:59 +0000 +++ b/source/selftest/selftest.pl 2007-04-30 13:48:15 +0000 @@ -134,6 +134,7 @@ 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 @@ '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 $testsdir = "$srcdir/selftest"; $ENV{CONFIGURATION} = "--configfile=$conffile"; +my %required_envs = (); if ($opt_quick) { open(IN, "$testsdir/tests_quick.sh|"); @@ -661,8 +664,10 @@ $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; } @@ -777,6 +782,10 @@ $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);