diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2007-01-14 04:32:11 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:40:45 -0500 |
commit | 10e1a80b9ec04f885fa983292a5be8fbe69a1a52 (patch) | |
tree | 3ba8d067b460b340a51d5d0ee0a06ff342ce154b /source4/script | |
parent | 0eb967cd41de4b291409d1b2fc9fa004a060e62f (diff) | |
download | samba-10e1a80b9ec04f885fa983292a5be8fbe69a1a52.tar.gz samba-10e1a80b9ec04f885fa983292a5be8fbe69a1a52.tar.bz2 samba-10e1a80b9ec04f885fa983292a5be8fbe69a1a52.zip |
r20756: Update to use generated recipes.
(This used to be commit 842637f78bbfb66ff669dadf3c7387dbc45feaf8)
Diffstat (limited to 'source4/script')
-rwxr-xr-x | source4/script/tests/selftest.pl | 51 |
1 files changed, 44 insertions, 7 deletions
diff --git a/source4/script/tests/selftest.pl b/source4/script/tests/selftest.pl index bb76eff913..b14333e0b5 100755 --- a/source4/script/tests/selftest.pl +++ b/source4/script/tests/selftest.pl @@ -104,7 +104,7 @@ Generic options: --target=samba4|samba3|win Samba version to target --socket-wrapper enable socket wrapper --quick run quick overall test - + --one abort when the first test fails "; exit(0); } @@ -113,12 +113,14 @@ my $opt_help = 0; my $opt_target = "samba4"; my $opt_quick = 0; my $opt_socket_wrapper = 0; +my $opt_one = 0; my $result = GetOptions ( 'help|h|?' => \$opt_help, 'target' => \$opt_target, 'socket-wrapper' => \$opt_socket_wrapper, - 'quick' => \$opt_quick + 'quick' => \$opt_quick, + 'one' => \$opt_one ); if (not $result) { @@ -263,16 +265,50 @@ system("bin/nmblookup $ENV{CONFIGURATION} -U $ENV{SERVER} $ENV{NETBIOSNAME}"); # start off with 0 failures $ENV{failed} = 0; -$ENV{totalfailed} = 0; +my $totalfailed = 0; + +my @todo = (); if ($opt_target eq "win") { system("$testsdir/test_win.sh"); -} elsif ($opt_quick) { - system("$testsdir/tests_quick.sh"); -} else { - system("$testsdir/tests_all.sh"); +} else { + if ($opt_quick) { + open(IN, "$testsdir/tests_quick.sh|"); + } else { + open(IN, "$testsdir/tests_all.sh|"); + } + while (<IN>) { + if ($_ eq "-- TEST --\n") { + my $name = <IN>; + $name =~ s/\n//g; + my $cmdline = <IN>; + $cmdline =~ s/\n//g; + push (@todo, [$name, $cmdline]); + } else { + print; + } + } + close(IN); +} + +my $total = $#todo + 1; +my $i = 0; +$| = 1; + +foreach (@todo) { + $i = $i + 1; + my $err = ""; + if ($totalfailed > 0) { $err = ", $totalfailed errors"; } + printf "[$i/$total in " . (time() - $start)."s$err] $$_[0]\n"; + my $ret = system("$$_[1] >/dev/null 2>/dev/null"); + if ($ret != 0) { + $totalfailed++; + exit(1) if ($opt_one); + } } +print "\n"; + close(DATA); my $failed = $? >> 8; @@ -291,6 +327,7 @@ if ($ldap) { my $end=time(); print "DURATION: " . ($end-$start). " seconds\n"; +print "$totalfailed failures\n"; # if there were any valgrind failures, show them foreach (<$prefix/valgrind.log*>) { |