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

jelmer at samba.org jelmer at samba.org
Mon Oct 30 11:34:59 GMT 2006


Author: jelmer
Date: 2006-10-30 11:34:59 +0000 (Mon, 30 Oct 2006)
New Revision: 19513

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

Log:
Add support for recipes (using '@')

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


Changeset:
Modified: branches/SAMBA_4_0/source/torture/smbtorture.c
===================================================================
--- branches/SAMBA_4_0/source/torture/smbtorture.c	2006-10-30 01:19:31 UTC (rev 19512)
+++ branches/SAMBA_4_0/source/torture/smbtorture.c	2006-10-30 11:34:59 UTC (rev 19513)
@@ -425,6 +425,33 @@
 	.test_result = quiet_test_result
 };
 
+void run_recipe(struct torture_context *tctx, const char *recipe)
+{
+	int numlines, i, ret;
+	char **lines;
+
+	lines = file_lines_load(recipe, &numlines, NULL);
+	if (lines == NULL) {
+		fprintf(stderr, "Unable to load file %s\n", recipe);
+		return;
+	}
+
+	for (i = 0; i < numlines; i++) {
+		int argc;
+		char **argv;
+
+		ret = poptParseArgvString(lines[i], &argc, &argv);
+		if (ret != 0) {
+			fprintf(stderr, "Error parsing line\n");
+			continue;
+		}
+
+		run_test(tctx, argv[0]);
+	}
+
+	talloc_free(lines);
+}
+
 void run_shell(struct torture_context *tctx)
 {
 	char *cline;
@@ -523,7 +550,7 @@
 	setlinebuf(stdout);
 
 	/* we are never interested in SIGPIPE */
-	BlockSignals(true,SIGPIPE);
+	BlockSignals(true, SIGPIPE);
 
 	pc = poptGetContext("smbtorture", argc, (const char **) argv, long_options, 
 			    POPT_CONTEXT_KEEP_FIRST);
@@ -649,7 +676,9 @@
 		double rate;
 		int unexpected_failures;
 		for (i=2;i<argc_new;i++) {
-			if (!run_test(torture, argv_new[i])) {
+			if (argv_new[i][0] == '@') {
+				run_recipe(torture, argv_new[i]+1);
+			} else if (!run_test(torture, argv_new[i])) {
 				correct = false;
 			}
 		}



More information about the samba-cvs mailing list