From 2d7b457e26985c444588546cc2d250c4cd2e2e32 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 14 Aug 2009 13:04:21 +1000 Subject: fixed TESTS= in make test to allow multiple tests Now you can do: make test TESTS="test1 test2" and it will run those two tests, each matching tests using a case insensitive substring match --- selftest/selftest.pl | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/selftest/selftest.pl b/selftest/selftest.pl index 75afbdd9a9..1cae9eaa7d 100755 --- a/selftest/selftest.pl +++ b/selftest/selftest.pl @@ -348,7 +348,7 @@ exit(1) if (not $result); ShowHelp() if ($opt_help); -my $tests = shift; +my @tests = @ARGV; # quick hack to disable rpc validation when using valgrind - its way too slow unless (defined($ENV{VALGRIND})) { @@ -591,6 +591,20 @@ my $testsdir = "$srcdir/selftest"; my %required_envs = (); +sub should_run_test($) +{ + my $name = shift; + if ($#tests == -1) { + return 1; + } + for (my $i=0; $i <= $#tests; $i++) { + if ($name =~ /$tests[$i]/i) { + return 1; + } + } + return 0; +} + sub read_testlist($) { my ($filename) = @_; @@ -606,7 +620,7 @@ sub read_testlist($) $env =~ s/\n//g; my $cmdline = ; $cmdline =~ s/\n//g; - if (not defined($tests) or $name =~ /$tests/) { + if (should_run_test($name) == 1) { $required_envs{$env} = 1; push (@ret, [$name, $env, $cmdline]); } -- cgit