svn commit: samba r24338 - in branches/SAMBA_4_0: . source/script
source/selftest
jelmer at samba.org
jelmer at samba.org
Sat Aug 11 22:14:08 GMT 2007
Author: jelmer
Date: 2007-08-11 22:14:07 +0000 (Sat, 11 Aug 2007)
New Revision: 24338
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24338
Log:
Add callbacks for starting and finishing tests.
Added:
branches/SAMBA_4_0/source/selftest/subunit-summary
Removed:
branches/SAMBA_4_0/source/script/subunit-summary
Modified:
branches/SAMBA_4_0/
branches/SAMBA_4_0/source/selftest/selftest.pl
Changeset:
Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: bzr:revision-info
...skipped...
Name: bzr:file-ids
...skipped...
Name: bzr:revision-id:v3-trunk0
...skipped...
Deleted: branches/SAMBA_4_0/source/script/subunit-summary
===================================================================
--- branches/SAMBA_4_0/source/script/subunit-summary 2007-08-11 21:30:19 UTC (rev 24337)
+++ branches/SAMBA_4_0/source/script/subunit-summary 2007-08-11 22:14:07 UTC (rev 24338)
@@ -1,70 +0,0 @@
-#!/usr/bin/perl
-# Simple subunit parser
-# (C) 2006 Jelmer Vernooij <jelmer at samba.org>
-
-use strict;
-use Getopt::Long;
-
-my $numtests = 0;
-my $numfails = 0;
-my $numskips = 0;
-my $numsuccess = 0;
-
-my $opt_help = 0;
-my $opt_progress = 0;
-
-my $result = GetOptions (
- 'help|h|?' => \$opt_help,
- 'progress' => \$opt_progress
- );
-
-if (not $result) {
- exit(1);
-}
-
-if ($opt_help) {
- print "subunit output summarizer\n";
- print "Copyright (C) 2006 Jelmer Vernooij <jelmer\@samba.org>\n";
- print "\n";
- print "Usage: subunit-summary [OPTION]\n";
- print " --help Print this help message\n";
- print "\n";
- exit(0);
-}
-
-while(<STDIN>) {
- next unless (/^(.+): (.+?)( \[)?$/);
- if ($1 eq "test") {
- $numtests++;
- } elsif ($1 eq "error") {
- print "E" if ($opt_progress);
- } elsif ($1 eq "failure") {
- $numfails++;
- print "F" if ($opt_progress);
- } elsif ($1 eq "success") {
- $numsuccess++;
- print "." if ($opt_progress);
- } elsif ($1 eq "skip") {
- $numskips++;
- print "I" if ($opt_progress);
- } elsif ($1 eq "testsuite") {
- if ($opt_progress) {
- if ($numtests) { print "\n"; }
- print "$2: ";
- }
- }
-}
-
-print "\n" if ($opt_progress);
-
-if ($numtests == 0) {
- print "No tests run\n";
- exit(0);
-}
-
-printf("%d%%: %d tests, %d succeeded, %d failed, %d skipped\n",
- ($numsuccess / $numtests * 100),
- $numtests,
- $numsuccess,
- $numfails,
- $numskips);
Modified: branches/SAMBA_4_0/source/selftest/selftest.pl
===================================================================
--- branches/SAMBA_4_0/source/selftest/selftest.pl 2007-08-11 21:30:19 UTC (rev 24337)
+++ branches/SAMBA_4_0/source/selftest/selftest.pl 2007-08-11 22:14:07 UTC (rev 24338)
@@ -183,7 +183,7 @@
my $test_output = {};
-sub buildfarm_start_msg($)
+sub buildfarm_start_testsuite($)
{
my ($state) = @_;
my $out = "";
@@ -208,7 +208,7 @@
$test_output->{$state->{NAME}} .= $output;
}
-sub buildfarm_end_msg($$$)
+sub buildfarm_end_testsuite($$$)
{
my ($state, $expected_ret, $ret) = @_;
my $out = "";
@@ -237,15 +237,27 @@
print $out;
}
+sub buildfarm_start_test($$)
+{
+ my ($state, $testname) = @_;
+}
+
+sub buildfarm_end_test($$$$)
+{
+ my ($state, $testname, $result, $expected) = @_;
+}
+
my $buildfarm_msg_ops = {
- start_msg => \&buildfarm_start_msg,
+ start_testsuite => \&buildfarm_start_testsuite,
output_msg => \&buildfarm_output_msg,
- end_msg => \&buildfarm_end_msg
+ end_testsuite => \&buildfarm_end_testsuite,
+ start_test => \&buildfarm_start_test,
+ end_test => \&buildfarm_end_test,
};
sub plain_output_msg($$);
-sub plain_start_msg($)
+sub plain_start_testsuite($)
{
my ($state) = @_;
my $out = "";
@@ -272,7 +284,7 @@
}
}
-sub plain_end_msg($$$)
+sub plain_end_testsuite($$$)
{
my ($state, $expected_ret, $ret) = @_;
my $out = "";
@@ -294,10 +306,22 @@
print $out;
}
+sub plain_start_test($$)
+{
+ my ($state, $testname) = @_;
+}
+
+sub plain_end_test($$$$)
+{
+ my ($state, $testname, $result, $expected) = @_;
+}
+
my $plain_msg_ops = {
- start_msg => \&plain_start_msg,
+ start_testsuite => \&plain_start_testsuite,
output_msg => \&plain_output_msg,
- end_msg => \&plain_end_msg
+ end_testsuite => \&plain_end_testsuite,
+ start_test => \&plain_start_test,
+ end_test => \&plain_end_test,
};
sub setup_pcap($)
@@ -344,48 +368,57 @@
setup_pcap($msg_state);
- $msg_ops->{start_msg}->($msg_state);
+ $msg_ops->{start_testsuite}->($msg_state);
open(RESULT, "$cmd 2>&1|");
while (<RESULT>) {
$msg_ops->{output_msg}->($msg_state, $_);
if (/^test: (.+)\n/) {
$open_tests->{$1} = 1;
+ $msg_ops->{start_test}->($msg_state, $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}++;
+ $msg_ops->{end_test}->($msg_state, $2, $1, 1);
} else {
$statistics->{TESTS_EXPECTED_OK}++;
+ $msg_ops->{end_test}->($msg_state, $2, $1, 0);
}
} elsif ($1 eq "failure") {
delete $open_tests->{$2};
if (expecting_failure("$name/$2")) {
$statistics->{TESTS_EXPECTED_FAIL}++;
+ $msg_ops->{end_test}->($msg_state, $2, $1, 0);
$expected_ret = 0;
} else {
print "n:$name/$2\n";
$statistics->{TESTS_UNEXPECTED_FAIL}++;
+ $msg_ops->{end_test}->($msg_state, $2, $1, 1);
}
} elsif ($1 eq "skip") {
delete $open_tests->{$2};
+ $msg_ops->{end_test}->($msg_state, $2, $1, 0);
} elsif ($1 eq "error") {
$statistics->{TESTS_ERROR}++;
delete $open_tests->{$2};
+ $msg_ops->{end_test}->($msg_state, $2, $1, 1);
}
}
}
+
foreach (keys %$open_tests) {
- $msg_ops->{output_msg}->($msg_state, "$_ was started but never finished!\n");
+ $msg_ops->{end_test}->($msg_state, $_, "error", 1);
+ $msg_ops->{output_msg}->($msg_state, "$_ was started but never finished!");
$statistics->{TESTS_ERROR}++;
}
my $ret = close(RESULT);
cleanup_pcap($msg_state, $expected_ret, $ret);
- $msg_ops->{end_msg}->($msg_state, $expected_ret, $ret);
+ $msg_ops->{end_testsuite}->($msg_state, $expected_ret, $ret);
if ($ret != $expected_ret) {
push(@$suitesfailed, $name);
Copied: branches/SAMBA_4_0/source/selftest/subunit-summary (from rev 24337, branches/SAMBA_4_0/source/script/subunit-summary)
===================================================================
--- branches/SAMBA_4_0/source/script/subunit-summary 2007-08-11 21:30:19 UTC (rev 24337)
+++ branches/SAMBA_4_0/source/selftest/subunit-summary 2007-08-11 22:14:07 UTC (rev 24338)
@@ -0,0 +1,70 @@
+#!/usr/bin/perl
+# Simple subunit parser
+# (C) 2006 Jelmer Vernooij <jelmer at samba.org>
+
+use strict;
+use Getopt::Long;
+
+my $numtests = 0;
+my $numfails = 0;
+my $numskips = 0;
+my $numsuccess = 0;
+
+my $opt_help = 0;
+my $opt_progress = 0;
+
+my $result = GetOptions (
+ 'help|h|?' => \$opt_help,
+ 'progress' => \$opt_progress
+ );
+
+if (not $result) {
+ exit(1);
+}
+
+if ($opt_help) {
+ print "subunit output summarizer\n";
+ print "Copyright (C) 2006 Jelmer Vernooij <jelmer\@samba.org>\n";
+ print "\n";
+ print "Usage: subunit-summary [OPTION]\n";
+ print " --help Print this help message\n";
+ print "\n";
+ exit(0);
+}
+
+while(<STDIN>) {
+ next unless (/^(.+): (.+?)( \[)?$/);
+ if ($1 eq "test") {
+ $numtests++;
+ } elsif ($1 eq "error") {
+ print "E" if ($opt_progress);
+ } elsif ($1 eq "failure") {
+ $numfails++;
+ print "F" if ($opt_progress);
+ } elsif ($1 eq "success") {
+ $numsuccess++;
+ print "." if ($opt_progress);
+ } elsif ($1 eq "skip") {
+ $numskips++;
+ print "I" if ($opt_progress);
+ } elsif ($1 eq "testsuite") {
+ if ($opt_progress) {
+ if ($numtests) { print "\n"; }
+ print "$2: ";
+ }
+ }
+}
+
+print "\n" if ($opt_progress);
+
+if ($numtests == 0) {
+ print "No tests run\n";
+ exit(0);
+}
+
+printf("%d%%: %d tests, %d succeeded, %d failed, %d skipped\n",
+ ($numsuccess / $numtests * 100),
+ $numtests,
+ $numsuccess,
+ $numfails,
+ $numskips);
More information about the samba-cvs
mailing list