Author: metze
Date: 2007-04-18 11:31:55 +0000 (Wed, 18 Apr 2007)
New Revision: 22331

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=22331

Log:
remove run_test_buildfarm() function
and pass buildfarm specific msg_ops to run_test()
instead

metze
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-04-18 11:12:31 UTC 
(rev 22330)
+++ branches/SAMBA_4_0/source/script/tests/selftest.pl  2007-04-18 11:31:55 UTC 
(rev 22331)
@@ -174,66 +174,43 @@
        return 0;
 }
 
-sub run_test_buildfarm($$$$)
+my $test_output = {};
+
+sub buildfarm_start_msg($)
 {
-       my ($name, $cmd, $i, $suitestotal) = @_;
+       my ($state) = @_;
+
        print "--==--==--==--==--==--==--==--==--==--==--\n";
-       print "Running test $name (level 0 stdout)\n";
+       print "Running test $state->{NAME} (level 0 stdout)\n";
        print "--==--==--==--==--==--==--==--==--==--==--\n";
        system("date");
+}
 
-       my $expected_ret = 1;
-       my $open_tests = {};
-       open(RESULT, "$cmd 2>&1|");
-       while (<RESULT>) { 
-               print;
-               if (/^test: (.+)\n/) {
-                       $open_tests->{$1} = 1;
-               } elsif (/^(success|failure|skip|error): (.*?)( \[)?\n/) {
-                       my $result = $1;
-                       if ($1 eq "success") {
-                               delete $open_tests->{$2};
-                               if (expecting_failure("$name/$2")) {
-                                       $statistics->{TESTS_UNEXPECTED_OK}++;
-                               } else {
-                                       $statistics->{TESTS_EXPECTED_OK}++;
-                               }
-                       } elsif ($1 eq "failure") {
-                               delete $open_tests->{$2};
-                               if (expecting_failure("$name/$2")) {
-                                       $statistics->{TESTS_EXPECTED_FAIL}++;
-                                       $expected_ret = 0;
-                               } else {
-                                       $statistics->{TESTS_UNEXPECTED_FAIL}++;
-                               }
-                       } elsif ($1 eq "skip") {
-                               delete $open_tests->{$2};
-                       } elsif ($1 eq "error") {
-                               $statistics->{TESTS_ERROR}++;
-                               delete $open_tests->{$2};
-                       }
-               }
-       }
-       print "COMMAND: $cmd\n";
-       foreach (keys %$open_tests) {
-               print "$_ was started but never finished!\n";           
-               $statistics->{TESTS_ERROR}++;
-       }
-       my $ret = close(RESULT);
+sub buildfarm_output_msg($$)
+{
+       my ($state, $output) = @_;
 
+       print $output;
+}
+
+sub buildfarm_end_msg($$$)
+{
+       my ($state, $expected_ret, $ret) = @_;
+
        print "==========================================\n";
        if ($ret == $expected_ret) {
-               print "TEST PASSED: $name\n";
+               print "TEST PASSED: $state->{NAME}\n";
        } else {
-               push(@$suitesfailed, $name);
-               print "TEST FAILED: $name (status $ret)\n";
+               print "TEST FAILED: $state->{NAME} (status $ret)\n";
        }
        print "==========================================\n";
-
-       return ($ret == $expected_ret);
 }
 
-my $test_output = {};
+my $buildfarm_msg_ops = {
+       start_msg       => \&buildfarm_start_msg,
+       output_msg      => \&buildfarm_output_msg,
+       end_msg         => \&buildfarm_end_msg
+};
 
 sub plain_start_msg($)
 {
@@ -687,7 +664,7 @@
                SocketWrapper::setup_pcap($pcap_file) if 
($opt_socket_wrapper_pcap);
                my $result;
                if ($from_build_farm) {
-                       $result = run_test_buildfarm($name, $cmd, $i, 
$suitestotal);
+                       $result = run_test($name, $cmd, $i, $suitestotal, 
$buildfarm_msg_ops);
                } else {
                        $result = run_test($name, $cmd, $i, $suitestotal, 
$plain_msg_ops);
                }

Reply via email to