[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-2257-gcc21634

Jelmer Vernooij jelmer at samba.org
Thu Jun 11 18:01:02 GMT 2009


The branch, master has been updated
       via  cc216340a61d1d48a2b9844f66061b59c674465b (commit)
       via  3344df8d2fca00eba908d971bd1c7d3a948c9f1a (commit)
       via  43143aa481c1cdd1765aac5ac959a8f11926b46a (commit)
       via  2ffffcb220082a4adf31dd15cecb30f8b610614c (commit)
       via  9faaffa87bbc4f427cabd5debbbab77582c1343c (commit)
       via  84f2d3001dd8a9e8734d0b36f4e1445fc1a8254c (commit)
       via  d8a77a798b5c691c76fcbadbc41c97ff1c9922f3 (commit)
       via  2e311fdac56f43998bb192418f617e6e7a6fc320 (commit)
       via  ed61cc5419651437ae0b8eb7d3dd9c56c7627388 (commit)
       via  68578d6374236e0606b21f5168956c3a515b7b0c (commit)
       via  e979560c134b70954a167ecdc6aad957763c8006 (commit)
       via  8a76e4ab29264e0c2aa7b9f786fcaff42ae42ed9 (commit)
       via  4308e69084c3455072a4e256c84bf3b2b013f31e (commit)
       via  c278ee50eeb59f74b960036803e3288c8b329c72 (commit)
       via  16a69f358a38c60577e25bc0811a220f8e71d2cd (commit)
       via  9bdf76c9c214d6f12c379f8feefe120fdae84377 (commit)
       via  24f01e70aaefb390d081bcd8cec6cd42282430b4 (commit)
       via  4e276fb60a61f559e1d343261fc15c794c921dd7 (commit)
       via  0e2f97092cc3aa216151c2dc0054e9f982b9bbf8 (commit)
       via  9e108009d0d4ec97a4b9cf989e3cb2cbc74f4ded (commit)
       via  0a1dbf353dc9cf1e0202e013fa112f177cbf51cf (commit)
       via  7ea3cc5f2991f7ef4ce8661d3a4047aa34bffae1 (commit)
      from  117c19efa4212cf11bf013dd5e12aa2e4991fe46 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit cc216340a61d1d48a2b9844f66061b59c674465b
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Jun 11 19:59:26 2009 +0200

    selftest: Fix exit code for format-subunit.pl.

commit 3344df8d2fca00eba908d971bd1c7d3a948c9f1a
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Jun 11 19:47:15 2009 +0200

    selftest: Fix uninitialized variables in selftest output.

commit 43143aa481c1cdd1765aac5ac959a8f11926b46a
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Jun 11 18:45:49 2009 +0200

    Fix Samba 3 selftest to use new selftest formatting functions.

commit 2ffffcb220082a4adf31dd15cecb30f8b610614c
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Jun 5 18:50:45 2009 +0200

    subunit: Sort diff output.

commit 9faaffa87bbc4f427cabd5debbbab77582c1343c
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Jun 5 17:37:41 2009 +0200

    selftest: Make it easier to do subunit diffs from other apps.

commit 84f2d3001dd8a9e8734d0b36f4e1445fc1a8254c
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Jun 5 17:25:42 2009 +0200

    selftest/subunit: Add diff command that can diff two subunit streams.

commit d8a77a798b5c691c76fcbadbc41c97ff1c9922f3
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Jun 5 16:55:45 2009 +0200

    selftest: Properly recognize xfail testsuites.

commit 2e311fdac56f43998bb192418f617e6e7a6fc320
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Jun 5 16:36:10 2009 +0200

    selftest/subunit: Remove open_tests argument from parse_results.

commit ed61cc5419651437ae0b8eb7d3dd9c56c7627388
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Jun 5 16:32:52 2009 +0200

    selftest: Fix subunit formatting, fix years when filtering subunit
    streams.

commit 68578d6374236e0606b21f5168956c3a515b7b0c
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Jun 5 16:10:12 2009 +0200

    selftest: Fix handling of testsuite, reintroduce progress indication.

commit e979560c134b70954a167ecdc6aad957763c8006
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Jun 5 14:13:07 2009 +0200

    selftest: Remove unnecessary uses.

commit 8a76e4ab29264e0c2aa7b9f786fcaff42ae42ed9
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Jun 5 14:06:32 2009 +0200

    selftest/subunit: Remove prefix command.

commit 4308e69084c3455072a4e256c84bf3b2b013f31e
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Jun 5 13:16:46 2009 +0200

    selftest: Fix subunit stream to include the right prefixes rather than
    extending the subunit protocol.

commit c278ee50eeb59f74b960036803e3288c8b329c72
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Jun 4 17:30:23 2009 +0200

    More work supporting prefixes.

commit 16a69f358a38c60577e25bc0811a220f8e71d2cd
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Jun 4 13:49:11 2009 +0200

    selftest: Use external processes for filtering known failures and pretty
    formatting.

commit 9bdf76c9c214d6f12c379f8feefe120fdae84377
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Jun 3 18:33:50 2009 +0200

    selftest: Avoid decreasing total testsuites if the original total is not
    known.

commit 24f01e70aaefb390d081bcd8cec6cd42282430b4
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Jun 3 18:19:01 2009 +0200

    selftest: Use filter-xfail for known failures

commit 4e276fb60a61f559e1d343261fc15c794c921dd7
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Jun 3 18:10:15 2009 +0200

    selftest: Add script to filter out known failures from a subunit stream.

commit 0e2f97092cc3aa216151c2dc0054e9f982b9bbf8
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Jun 3 18:08:54 2009 +0200

    Subunit: Support "fail" as alias for "failure" in Subunit streams.

commit 9e108009d0d4ec97a4b9cf989e3cb2cbc74f4ded
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Jun 3 18:03:45 2009 +0200

    subunit: Move more Subunit printing logic to Subunit.pm.

commit 0a1dbf353dc9cf1e0202e013fa112f177cbf51cf
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Jun 3 17:39:54 2009 +0200

    subunit: Support the time: command.

commit 7ea3cc5f2991f7ef4ce8661d3a4047aa34bffae1
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Jun 3 17:23:09 2009 +0200

    selftest: Use subunit internally, and a separate test output formatter.

-----------------------------------------------------------------------

Summary of changes:
 lib/subunit/tap2subunit      |    1 -
 selftest/README              |   48 +++++++++--
 selftest/Subunit.pm          |  193 +++++++++++++++++++++++++++++++----------
 selftest/Subunit/Diff.pm     |   80 +++++++++++++++++
 selftest/Subunit/Filter.pm   |  132 ++++++++++++++++++++++++++++
 selftest/diff-subunit.pl     |   21 +++++
 selftest/filter-subunit.pl   |   96 +++++++++++++++++++++
 selftest/format-subunit.pl   |   35 +++++++-
 selftest/output/buildfarm.pm |   38 +++++---
 selftest/output/html.pm      |   52 +++++-------
 selftest/output/plain.pm     |   65 +++++++-------
 selftest/output/subunit.pm   |   30 +++----
 selftest/selftest.pl         |  176 +++++++++++++-------------------------
 source3/Makefile.in          |    7 +-
 source4/selftest/config.mk   |   49 ++++++-----
 15 files changed, 730 insertions(+), 293 deletions(-)
 create mode 100644 selftest/Subunit/Diff.pm
 create mode 100644 selftest/Subunit/Filter.pm
 create mode 100755 selftest/diff-subunit.pl
 create mode 100755 selftest/filter-subunit.pl


Changeset truncated at 500 lines:

diff --git a/lib/subunit/tap2subunit b/lib/subunit/tap2subunit
index 45f5155..9e33516 100755
--- a/lib/subunit/tap2subunit
+++ b/lib/subunit/tap2subunit
@@ -33,4 +33,3 @@ while(<STDIN>) {
 	}
 }
 exit $error;
-
diff --git a/selftest/README b/selftest/README
index 3fe6af5..a8c5101 100644
--- a/selftest/README
+++ b/selftest/README
@@ -50,6 +50,8 @@ failure: <NAME> [ REASON ]
 Announce that the test with the specified name failed. Optionally, it is 
 possible to specify a reason it failed.
 
+The alias "fail" will also work.
+
 xfail
 ~~~~~
 xfail: <NAME>
@@ -57,6 +59,8 @@ xfail: <NAME> [ REASON ]
 
 Announce that the test with the specified name failed but that the failure
 was expected, e.g. it's a test for a known bug that hasn't been fixed yet.
+Alternatively it is also possible to simply return "failure:" here but 
+specify in the samba4-knownfailures file that it is failing.
 
 skip
 ~~~~
@@ -66,14 +70,44 @@ skip: <NAME> [ REASON ]
 Announce that the test with the specified name was skipped. Optionally a 
 reason can be specified.
 
-knownfail
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-knownfail: <NAME>
-knownfail: <NAME> [ REASON ]
+time
+~~~~
+time: YYYY-MM-DD HH:mm:ssZ
 
-Announce that the test with the specified name was run and failed as expected.
-Alternatively it is also possible to simply return "failure:" here but 
-specify in the samba4-knownfailures file that it is failing.
+Announce the current time. This may be used to calculate the duration of 
+various tests.
+
+The following are Samba extensions to Subunit:
+
+testsuite-count
+~~~~~~~~~~~~~~~
+testsuite-count: number
+
+Announce the number of tests that is going to be run.
+
+start-testsuite
+~~~~~~~~~
+start-testsuite: name
+
+The testsuite name is used as prefix for all containing tests.
+
+skip-testsuite
+~~~~~~~~~~~~~~
+skip-testsuite: name
+
+Mark the testsuite with the specified name as skipped.
+
+testsuite-success
+~~~~~~~~~~~~~~~~~
+testsuite-success: name
+
+Indicate that the testsuite has succeeded successfully.
+
+testsuite-fail
+~~~~~~~~~~~~~~
+testsuite-fail: name
+
+Indicate that a testsuite has failed.
 
 Environments
 ============
diff --git a/selftest/Subunit.pm b/selftest/Subunit.pm
index 19af636..42d16e3 100644
--- a/selftest/Subunit.pm
+++ b/selftest/Subunit.pm
@@ -1,5 +1,5 @@
-# Simple Perl module for parsing the Subunit protocol
-# Copyright (C) 2008 Jelmer Vernooij <jelmer at samba.org>
+# Perl module for parsing and generating the Subunit protocol
+# Copyright (C) 2008-2009 Jelmer Vernooij <jelmer at samba.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -15,6 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 package Subunit;
+use POSIX;
 
 require Exporter;
 @ISA = qw(Exporter);
@@ -22,22 +23,25 @@ require Exporter;
 
 use strict;
 
-sub parse_results($$$$$)
+sub parse_results($$$)
 {
-	my ($msg_ops, $statistics, $fh, $expecting_failure, $open_tests) = @_;
-	my $unexpected_ok = 0;
+	my ($msg_ops, $statistics, $fh) = @_;
 	my $expected_fail = 0;
 	my $unexpected_fail = 0;
 	my $unexpected_err = 0;
-	my $orig_open_len = $#$open_tests;
+	my $open_tests = [];
 
 	while(<$fh>) {
 		if (/^test: (.+)\n/) {
 			$msg_ops->control_msg($_);
-			$msg_ops->start_test($open_tests, $1);
+			$msg_ops->start_test($1);
 			push (@$open_tests, $1);
-		} elsif (/^(success|successful|failure|skip|knownfail|error): (.*?)( \[)?([ \t]*)\n/) {
+		} elsif (/^time: (\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)Z\n/) {
+			$msg_ops->report_time(mktime($6, $5, $4, $3, $2, $1-1900));
+		} elsif (/^(success|successful|failure|fail|skip|knownfail|error|xfail|skip-testsuite|testsuite-failure|testsuite-xfail|testsuite-success|testsuite-error): (.*?)( \[)?([ \t]*)\n/) {
 			$msg_ops->control_msg($_);
+			my $result = $1;
+			my $testname = $2;
 			my $reason = undef;
 			if ($3) {
 				$reason = "";
@@ -50,53 +54,58 @@ sub parse_results($$$$$)
 				
 				unless ($terminated) {
 					$statistics->{TESTS_ERROR}++;
-					$msg_ops->end_test($open_tests, $2, $1, 1, "reason interrupted");
+					$msg_ops->end_test($testname, "error", 1, "reason ($result) interrupted");
 					return 1;
 				}
 			}
-			my $result = $1;
-			if ($1 eq "success" or $1 eq "successful") {
-				pop(@$open_tests); #FIXME: Check that popped value == $2
-				if ($expecting_failure->(join(".", @$open_tests) . ".$2")) {
-					$statistics->{TESTS_UNEXPECTED_OK}++;
-					$msg_ops->end_test($open_tests, $2, $1, 1, $reason);
-					$unexpected_ok++;
-				} else {
-					$statistics->{TESTS_EXPECTED_OK}++;
-					$msg_ops->end_test($open_tests, $2, $1, 0, $reason);
-				}
-			} elsif ($1 eq "failure") {
-				pop(@$open_tests); #FIXME: Check that popped value == $2
-				if ($expecting_failure->(join(".", @$open_tests) . ".$2")) {
-					$statistics->{TESTS_EXPECTED_FAIL}++;
-					$msg_ops->end_test($open_tests, $2, $1, 0, $reason);
-					$expected_fail++;
-				} else {
-					$statistics->{TESTS_UNEXPECTED_FAIL}++;
-					$msg_ops->end_test($open_tests, $2, $1, 1, $reason);
-					$unexpected_fail++;
-				}
-			} elsif ($1 eq "knownfail") {
-				pop(@$open_tests); #FIXME: Check that popped value == $2
+			if ($result eq "success" or $result eq "successful") {
+				pop(@$open_tests); #FIXME: Check that popped value == $testname 
+				$statistics->{TESTS_EXPECTED_OK}++;
+				$msg_ops->end_test($testname, $result, 0, $reason);
+			} elsif ($result eq "xfail" or $result eq "knownfail") {
+				pop(@$open_tests); #FIXME: Check that popped value == $testname
 				$statistics->{TESTS_EXPECTED_FAIL}++;
-				$msg_ops->end_test($open_tests, $2, $1, 0, $reason);
-			} elsif ($1 eq "skip") {
+				$msg_ops->end_test($testname, $result, 0, $reason);
+				$expected_fail++;
+			} elsif ($result eq "failure" or $result eq "fail") {
+				pop(@$open_tests); #FIXME: Check that popped value == $testname
+				$statistics->{TESTS_UNEXPECTED_FAIL}++;
+				$msg_ops->end_test($testname, $result, 1, $reason);
+				$unexpected_fail++;
+			} elsif ($result eq "skip") {
 				$statistics->{TESTS_SKIP}++;
-				pop(@$open_tests); #FIXME: Check that popped value == $2
-				$msg_ops->end_test($open_tests, $2, $1, 0, $reason);
-			} elsif ($1 eq "error") {
+				my $last = pop(@$open_tests);
+				if (defined($last) and $last ne $testname) {
+					push (@$open_tests, $testname);
+				}
+				$msg_ops->end_test($testname, $result, 0, $reason);
+			} elsif ($result eq "error") {
 				$statistics->{TESTS_ERROR}++;
-				pop(@$open_tests); #FIXME: Check that popped value == $2
-				$msg_ops->end_test($open_tests, $2, $1, 1, $reason);
+				pop(@$open_tests); #FIXME: Check that popped value == $testname
+				$msg_ops->end_test($testname, $result, 1, $reason);
 				$unexpected_err++;
-			}
+			} elsif ($result eq "skip-testsuite") {
+				$msg_ops->skip_testsuite($testname);
+			} elsif ($result eq "testsuite-success") {
+				$msg_ops->end_testsuite($testname, "success", $reason);
+			} elsif ($result eq "testsuite-failure") {
+				$msg_ops->end_testsuite($testname, "failure", $reason);
+			} elsif ($result eq "testsuite-xfail") {
+				$msg_ops->end_testsuite($testname, "xfail", $reason);
+			} elsif ($result eq "testsuite-error") {
+				$msg_ops->end_testsuite($testname, "error", $reason);
+			} 
+		} elsif (/^testsuite: (.*)\n/) {
+			$msg_ops->start_testsuite($1);
+		} elsif (/^testsuite-count: (\d+)\n/) {
+			$msg_ops->testsuite_count($1);
 		} else {
 			$msg_ops->output_msg($_);
 		}
 	}
 
-	while ($#$open_tests > $orig_open_len) {
-		$msg_ops->end_test($open_tests, pop(@$open_tests), "error", 1,
+	while ($#$open_tests+1 > 0) {
+		$msg_ops->end_test(pop(@$open_tests), "error", 1,
 				   "was started but never finished!");
 		$statistics->{TESTS_ERROR}++;
 		$unexpected_err++;
@@ -104,10 +113,100 @@ sub parse_results($$$$$)
 
 	return 1 if $unexpected_err > 0;
 	return 1 if $unexpected_fail > 0;
-	return 1 if $unexpected_ok > 0 and $expected_fail > 0;
-	return 0 if $unexpected_ok > 0 and $expected_fail == 0;
-	return 0 if $expected_fail > 0;
-	return 1;
+	return 0;
+}
+
+sub start_test($)
+{
+	my ($testname) = @_;
+	print "test: $testname\n";
+}
+
+sub end_test($$;$)
+{
+	my $name = shift;
+	my $result = shift;
+	my $reason = shift;
+	if ($reason) {
+		print "$result: $name [\n";
+		print "$reason";
+		print "]\n";
+	} else {
+		print "$result: $name\n";
+	}
+}
+
+sub skip_test($;$)
+{
+	my $name = shift;
+	my $reason = shift;
+	end_test($name, "skip", $reason);
+}
+
+sub fail_test($;$)
+{
+	my $name = shift;
+	my $reason = shift;
+	end_test($name, "fail", $reason);
+}
+
+sub success_test($;$)
+{
+	my $name = shift;
+	my $reason = shift;
+	end_test($name, "success", $reason);
+}
+
+sub xfail_test($;$)
+{
+	my $name = shift;
+	my $reason = shift;
+	end_test($name, "xfail", $reason);
+}
+
+sub report_time($)
+{
+	my ($time) = @_;
+	my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime($time);
+	printf "time: %04d-%02d-%02d %02d:%02d:%02dZ\n", $year+1900, $mon, $mday, $hour, $min, $sec;
+}
+
+# The following are Samba extensions:
+
+sub start_testsuite($)
+{
+	my ($name) = @_;
+	print "testsuite: $name\n";
+}
+
+sub skip_testsuite($;$)
+{
+	my ($name, $reason) = @_;
+	if ($reason) {
+		print "skip-testsuite: $name [\n$reason\n]\n";
+	} else {
+		print "skip-testsuite: $name\n";
+	}
+}
+
+sub end_testsuite($$;$)
+{
+	my $name = shift;
+	my $result = shift;
+	my $reason = shift;
+	if ($reason) {
+		print "testsuite-$result: $name [\n";
+		print "$reason\n";
+		print "]\n";
+	} else {
+		print "testsuite-$result: $name\n";
+	}
+}
+
+sub testsuite_count($)
+{
+	my ($count) = @_;
+	print "testsuite-count: $count\n";
 }
 
 1;
diff --git a/selftest/Subunit/Diff.pm b/selftest/Subunit/Diff.pm
new file mode 100644
index 0000000..de251b3
--- /dev/null
+++ b/selftest/Subunit/Diff.pm
@@ -0,0 +1,80 @@
+#!/usr/bin/perl
+# Diff two subunit streams
+# Copyright (C) Jelmer Vernooij <jelmer at samba.org>
+# Published under the GNU GPL, v3 or later
+
+package Subunit::Diff;
+
+use strict;
+
+use Subunit qw(parse_results);
+
+sub control_msg() { }
+sub report_time($$) { }
+
+sub output_msg($$)
+{
+	my ($self, $msg) = @_;
+
+	# No output for now, perhaps later diff this as well ?
+}
+
+sub start_test($$)
+{
+	my ($self, $testname) = @_;
+}
+
+sub end_test($$$$$)
+{
+	my ($self, $testname, $result, $unexpected, $reason) = @_;
+
+	$self->{$testname} = $result;
+}
+
+sub skip_testsuite($;$) { } 
+sub start_testsuite($;$) { }
+sub end_testsuite($$;$) { }
+sub testsuite_count($$) { }
+
+sub new {
+	my ($class) = @_;
+
+	my $self = { 
+	};
+	bless($self, $class);
+}
+
+sub from_file($)
+{
+	my ($path) = @_;
+	my $statistics = {
+		TESTS_UNEXPECTED_OK => 0,
+		TESTS_EXPECTED_OK => 0,
+		TESTS_UNEXPECTED_FAIL => 0,
+		TESTS_EXPECTED_FAIL => 0,
+		TESTS_ERROR => 0,
+		TESTS_SKIP => 0,
+	};
+
+	my $ret = new Subunit::Diff();
+	open(IN, $path) or return;
+	parse_results($ret, $statistics, *IN);
+	close(IN);
+	return $ret;
+}
+
+sub diff($$)
+{
+	my ($old, $new) = @_;
+	my $ret = {};
+
+	foreach my $testname (keys %$old) {
+		if ($new->{$testname} ne $old->{$testname}) {
+			$ret->{$testname} = [$old->{$testname}, $new->{$testname}];
+		}
+	}
+
+	return $ret;
+}
+
+1;
diff --git a/selftest/Subunit/Filter.pm b/selftest/Subunit/Filter.pm
new file mode 100644
index 0000000..1bd4e5f
--- /dev/null
+++ b/selftest/Subunit/Filter.pm
@@ -0,0 +1,132 @@
+#!/usr/bin/perl
+# Filter a subunit stream
+# Copyright (C) Jelmer Vernooij <jelmer at samba.org>
+# Published under the GNU GPL, v3 or later
+
+package Subunit::Filter;
+
+use strict;
+
+sub read_test_regexes($)
+{
+	my ($name) = @_;
+	my @ret = ();
+	open(LF, "<$name") or die("unable to read $name: $!");
+	while (<LF>) { 
+		chomp; 
+		next if (/^#/);
+		if (/^(.*?)([ \t]+)\#([\t ]*)(.*?)$/) {
+			push (@ret, [$1, $4]);
+		} else {
+			s/^(.*?)([ \t]+)\#([\t ]*)(.*?)$//;
+			push (@ret, [$_, undef]); 
+		}
+	}
+	close(LF);
+	return @ret;
+}
+
+sub find_in_list($$)
+{
+	my ($list, $fullname) = @_;
+
+	foreach (@$list) {
+		if ($fullname =~ /$$_[0]/) {
+			 return ($$_[1]) if ($$_[1]);
+			 return "";
+		}
+	}
+
+	return undef;
+}
+
+sub control_msg()
+{
+	# We regenerate control messages, so ignore this
+}
+
+sub report_time($$)
+{
+	my ($self, $time) = @_;
+	Subunit::report_time($time);
+}
+
+sub output_msg($$)
+{
+	my ($self, $msg) = @_;
+	print $msg;
+}
+
+sub start_test($$)
+{
+	my ($self, $testname) = @_;
+
+	if (defined($self->{prefix})) {
+		$testname = $self->{prefix}.$testname;
+	}
+
+	Subunit::start_test($testname);
+}
+
+sub end_test($$$$$)
+{
+	my ($self, $testname, $result, $unexpected, $reason) = @_;
+


-- 
Samba Shared Repository


More information about the samba-cvs mailing list