Author: jelmer Date: 2007-01-14 04:32:11 +0000 (Sun, 14 Jan 2007) New Revision: 20756
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20756 Log: Update to use generated recipes. Modified: branches/SAMBA_4_0/source/script/tests/selftest.pl Changeset: Modified: branches/SAMBA_4_0/source/script/tests/selftest.pl =================================================================== --- branches/SAMBA_4_0/source/script/tests/selftest.pl 2007-01-14 03:38:56 UTC (rev 20755) +++ branches/SAMBA_4_0/source/script/tests/selftest.pl 2007-01-14 04:32:11 UTC (rev 20756) @@ -104,7 +104,7 @@ --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_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 @@ # 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 @@ 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*>) {