svn commit: samba r16160 - in branches/SAMBA_4_0/source/torture: .

jelmer at samba.org jelmer at samba.org
Mon Jun 12 19:11:25 GMT 2006


Author: jelmer
Date: 2006-06-12 19:11:24 +0000 (Mon, 12 Jun 2006)
New Revision: 16160

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

Log:
Fix double semicolon in ui.h
Support output in perl's Test::Harness format (smbtorture output 
can now be parsed by the 'prove' utility which generates statistics 
about how much tests failed, succeeded, skipped, etc)

Modified:
   branches/SAMBA_4_0/source/torture/smbtorture.c
   branches/SAMBA_4_0/source/torture/ui.h


Changeset:
Modified: branches/SAMBA_4_0/source/torture/smbtorture.c
===================================================================
--- branches/SAMBA_4_0/source/torture/smbtorture.c	2006-06-12 19:02:41 UTC (rev 16159)
+++ branches/SAMBA_4_0/source/torture/smbtorture.c	2006-06-12 19:11:24 UTC (rev 16160)
@@ -267,7 +267,7 @@
 		printf("success: %s\n", test->name);
 		break;
 	case TORTURE_FAIL:
-		printf("failure: %s\n", test->name);
+		printf("failure: %s [ %s ]\n", test->name, reason);
 		break;
 	case TORTURE_TODO:
 		printf("todo: %s\n", test->name);
@@ -289,6 +289,39 @@
 	.test_result = subunit_test_result
 };
 
+static void harness_test_start (struct torture_test *test)
+{
+}
+
+static void harness_test_result (struct torture_test *test, enum torture_result res, const char *reason)
+{
+	switch (res) {
+	case TORTURE_OK:
+		printf("ok %s - %s\n", test->name, reason);
+		break;
+	case TORTURE_FAIL:
+		printf("not ok %s - %s\n", test->name, reason);
+		break;
+	case TORTURE_TODO:
+		printf("todo %s - %s\n", test->name, reason);
+		break;
+	case TORTURE_SKIP:
+		printf("skip %s - %s\n", test->name, reason);
+		break;
+	}
+}
+
+static void harness_comment (struct torture_test *test, const char *comment)
+{
+	printf("# %s\n", comment);
+}
+
+const static struct torture_ui_ops harness_ui_ops = {
+	.comment = harness_comment,
+	.test_start = harness_test_start,
+	.test_result = harness_test_result
+};
+
 /****************************************************************************
   main program
 ****************************************************************************/
@@ -308,7 +341,7 @@
 	
 	struct poptOption long_options[] = {
 		POPT_AUTOHELP
-		{"format", 0, POPT_ARG_STRING, &ui_ops_name, 0, "Output format (one of: simple, subunit)", NULL },
+		{"format", 0, POPT_ARG_STRING, &ui_ops_name, 0, "Output format (one of: simple, subunit, harness)", NULL },
 		{"smb-ports",	'p', POPT_ARG_STRING, NULL,     OPT_SMB_PORTS,	"SMB ports", 	NULL},
 		{"seed",	  0, POPT_ARG_INT,  &torture_seed, 	0,	"seed", 	NULL},
 		{"num-progs",	  0, POPT_ARG_INT,  &torture_nprocs, 	0,	"num progs",	NULL},
@@ -442,6 +475,8 @@
 		torture->ui_ops = &std_ui_ops;
 	} else if (!strcmp(ui_ops_name, "subunit")) {
 		torture->ui_ops = &subunit_ui_ops;
+	} else if (!strcmp(ui_ops_name, "harness")) {
+		torture->ui_ops = &harness_ui_ops;
 	} else {
 		printf("Unknown output format '%s'\n", ui_ops_name);
 		exit(1);

Modified: branches/SAMBA_4_0/source/torture/ui.h
===================================================================
--- branches/SAMBA_4_0/source/torture/ui.h	2006-06-12 19:02:41 UTC (rev 16159)
+++ branches/SAMBA_4_0/source/torture/ui.h	2006-06-12 19:11:24 UTC (rev 16160)
@@ -90,5 +90,5 @@
 struct torture_test *torture_subtest(struct torture_test *parent, const char *name, const char *description);
 void torture_comment(struct torture_test *test, const char *comment, ...) _PRINTF_ATTRIBUTE(2,3);
 void torture_ok(struct torture_test *test);
-void torture_fail(struct torture_test *test, const char *reason, ...) _PRINTF_ATTRIBUTE(2,3);;
+void torture_fail(struct torture_test *test, const char *reason, ...) _PRINTF_ATTRIBUTE(2,3);
 void torture_skip(struct torture_test *test, const char *reason, ...) _PRINTF_ATTRIBUTE(2,3);



More information about the samba-cvs mailing list