Rev 11296: Add expected failures list in file:///home/jelmer/bzr.samba/4.0-perlselftest/

Jelmer Vernooij jelmer at samba.org
Fri Jan 26 01:09:10 GMT 2007


------------------------------------------------------------
revno: 11296
revision-id: jelmer at samba.org-20070126010857-fhqnim2qgy67nzra
parent: jelmer at samba.org-20070125124321-ugthx6mbo2sbvm60
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 4.0-perlselftest
timestamp: Fri 2007-01-26 02:08:57 +0100
message:
  Add expected failures list
modified:
  source/script/tests/selftest.pl svn-v2:20693 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2fscript%2ftests%2fselftest.pl
  source/torture/smbtorture.c    svn-v2:14520 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2ftorture%2fsmbtorture.c
  source/torture/torture.c       svn-v2:2 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-trunk-source%2ftorture%2ftorture.c
=== modified file 'source/script/tests/selftest.pl'
--- a/source/script/tests/selftest.pl	2007-01-25 12:35:59 +0000
+++ b/source/script/tests/selftest.pl	2007-01-26 01:08:57 +0000
@@ -93,6 +93,7 @@
 my $opt_socket_wrapper = 0;
 my $opt_one = 0;
 my $opt_immediate = 0;
+my $opt_expected_failures = undef;
 
 sub slapd_start($$) {
 	my ($conf, $uri) = @_;
@@ -163,7 +164,9 @@
 my $totalfailed = 0;
 my $totalsuccesses = 0;
 my $total = 0;
+my $unexpected_success = 0;
 my $start = time();
+my @expected_failures = ();
 
 sub run_test_buildfarm($$$$)
 {
@@ -204,10 +207,18 @@
 			$open_tests->{$1} = 1;
 		} elsif (/^success: ([^\[\n]+)/) {
 			delete $open_tests->{$1};
-			$total++;
+			if (grep(/^$name\/$1$/, @expected_failures)) {
+				$unexpected_success++;
+			} else {
+				$total++;
+			}
 		} elsif (/^failure: ([^\[\n]+)/) {
 			delete $open_tests->{$1};
-			$totalfailed++;
+			unless (grep(/^$name\/$1$/, @expected_failures)) {
+				$totalfailed++;
+			} else {
+				$total++;
+			}
 		}
 		$test_output->{$name}.=$_;
 	}
@@ -248,6 +259,7 @@
  --quick                    run quick overall test
  --one                      abort when the first test fails
  --immediate                print test output for failed tests during run
+ --expected-failures=file   specify list of tests that is guaranteed to fail
 ";
 	exit(0);
 }
@@ -259,7 +271,8 @@
 		'socket-wrapper' => \$opt_socket_wrapper,
 		'quick' => \$opt_quick,
 		'one' => \$opt_one,
-		'immediate' => \$opt_immediate
+		'immediate' => \$opt_immediate,
+		'expected-failures=s' => \$opt_expected_failures,
 	    );
 
 if (not $result) {
@@ -364,6 +377,12 @@
 	$torture_maxtime *= 2;
 }
 
+if (defined($opt_expected_failures)) {
+	open(KNOWN, "<$opt_expected_failures") or die("unable to read known failures file: $!");
+	while (<KNOWN>) { s/\n//g; push (@expected_failures, $_); }
+	close(KNOWN);
+}
+
 my $test_fifo = "$prefix/smbd_test.fifo";
 
 $ENV{SMBD_TEST_FIFO} = $test_fifo;

=== modified file 'source/torture/smbtorture.c'
--- a/source/torture/smbtorture.c	2007-01-14 05:06:50 +0000
+++ b/source/torture/smbtorture.c	2007-01-26 01:08:57 +0000
@@ -565,10 +565,8 @@
 
 	if (strcmp(target, "samba3") == 0) {
 		lp_set_cmdline("torture:samba3", "true");
-		lp_set_cmdline("torture:knownfail", "samba3-knownfail");
 	} else if (strcmp(target, "samba4") == 0) {
 		lp_set_cmdline("torture:samba4", "true");
-		lp_set_cmdline("torture:knownfail", "samba4-knownfail");
 	}
 
 	if (max_runtime) {
@@ -647,8 +645,7 @@
 		exit(1);
 	}
 
-	torture = torture_context_init(talloc_autofree_context(), 
-				lp_parm_string(-1, "torture", "knownfail"), ui_ops);
+	torture = torture_context_init(talloc_autofree_context(), ui_ops);
 
 	if (argc_new == 0) {
 		printf("You must specify a test to run, or 'ALL'\n");

=== modified file 'source/torture/torture.c'
--- a/source/torture/torture.c	2006-11-04 19:45:50 +0000
+++ b/source/torture/torture.c	2007-01-26 01:08:57 +0000
@@ -42,14 +42,11 @@
 }
 
 struct torture_context *torture_context_init(TALLOC_CTX *mem_ctx, 
-											 const char *known_failures_file, 
 											 const struct torture_ui_ops *ui_ops)
 {
 	int numlines;
 	struct torture_context *torture = talloc_zero(mem_ctx, 
 												  struct torture_context);
-	torture->expected_failures = file_lines_load(known_failures_file, &numlines,
-												 torture);
 	torture->ui_ops = ui_ops;
 
 	torture->results.returncode = true;



More information about the samba-cvs mailing list