svn commit: samba r20756 - in
branches/SAMBA_4_0/source/script/tests: .
jelmer at samba.org
jelmer at samba.org
Sun Jan 14 04:32:11 GMT 2007
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*>) {
More information about the samba-cvs
mailing list