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

jelmer at samba.org jelmer at samba.org
Fri Aug 31 18:35:44 GMT 2007


Author: jelmer
Date: 2007-08-31 18:35:30 +0000 (Fri, 31 Aug 2007)
New Revision: 24851

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

Log:
Add --load-module argument to smbtorture.
Modified:
   branches/SAMBA_4_0/
   branches/SAMBA_4_0/source/samba4-knownfail
   branches/SAMBA_4_0/source/torture/smbtorture.c
   branches/SAMBA_4_0/source/torture/torture.c
   branches/SAMBA_4_0/source/torture/ui.h


Changeset:

Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: bzr:revision-info
...skipped...
Name: bzr:revision-id:v3-trunk0
...skipped...

Modified: branches/SAMBA_4_0/source/samba4-knownfail
===================================================================
--- branches/SAMBA_4_0/source/samba4-knownfail	2007-08-31 17:38:37 UTC (rev 24850)
+++ branches/SAMBA_4_0/source/samba4-knownfail	2007-08-31 18:35:30 UTC (rev 24851)
@@ -27,3 +27,4 @@
 RPC-NETLOGON.*/GetAnyDCName
 RPC-NETLOGON.*/DsrEnumerateDomainTrusts
 RPC-NETLOGON.*/DsrGetDcSiteCoverageW
+RPC-DRSUAPI.*/DsReplicaUpdateRefs

Modified: branches/SAMBA_4_0/source/torture/smbtorture.c
===================================================================
--- branches/SAMBA_4_0/source/torture/smbtorture.c	2007-08-31 17:38:37 UTC (rev 24850)
+++ branches/SAMBA_4_0/source/torture/smbtorture.c	2007-08-31 18:35:30 UTC (rev 24851)
@@ -238,6 +238,11 @@
 
 	printf("Tests are:");
 
+	if (torture_root == NULL) {
+	    printf("NO TESTS LOADED\n");
+	    exit(1);
+	}
+
 	for (o = torture_root->children; o; o = o->next) {
 		printf("\n%s (%s):\n  ", o->description, o->name);
 
@@ -480,6 +485,7 @@
 	int shell = False;
 	static const char *ui_ops_name = "simple";
 	const char *basedir = NULL;
+	const char *extra_module = NULL;
 	static int list_tests = 0;
 	char *host = NULL, *share = NULL;
 	enum {OPT_LOADFILE=1000,OPT_UNCLIST,OPT_TIMELIMIT,OPT_DNS, OPT_LIST,
@@ -502,6 +508,7 @@
 		{"parse-dns",	'D', POPT_ARG_STRING,	NULL, 	OPT_DNS,	"parse-dns", 	NULL},
 		{"dangerous",	'X', POPT_ARG_NONE,	NULL,   OPT_DANGEROUS,
 		 "run dangerous tests (eg. wiping out password database)", NULL},
+		{"load-module",  0,  POPT_ARG_STRING, &extra_module,     0, "load tests from DSO file",    "SOFILE"},
 		{"shell", 		0, POPT_ARG_NONE, &shell, True, "Run shell", NULL},
 		{"target", 		'T', POPT_ARG_STRING, &target, 0, "samba3|samba4|other", NULL},
 		{"async",       'a', POPT_ARG_NONE,     NULL,   OPT_ASYNC,
@@ -572,9 +579,24 @@
 		alarm(max_runtime);
 	}
 
-	torture_init();
 	ldb_global_init();
 
+	if (extra_module != NULL) {
+	    init_module_fn fn = load_module(talloc_autofree_context(), poptGetOptArg(pc));
+
+	    if (fn == NULL) 
+		d_printf("Unable to load module from %s\n", poptGetOptArg(pc));
+	    else {
+		status = fn();
+		if (NT_STATUS_IS_ERR(status)) {
+		    d_printf("Error initializing module %s: %s\n", 
+			     poptGetOptArg(pc), nt_errstr(status));
+		}
+	    }
+	} else { 
+		torture_init();
+	}
+
 	if (list_tests) {
 		print_test_list();
 		return 0;

Modified: branches/SAMBA_4_0/source/torture/torture.c
===================================================================
--- branches/SAMBA_4_0/source/torture/torture.c	2007-08-31 17:38:37 UTC (rev 24850)
+++ branches/SAMBA_4_0/source/torture/torture.c	2007-08-31 18:35:30 UTC (rev 24851)
@@ -32,13 +32,16 @@
 _PUBLIC_ int torture_seed=0;
 _PUBLIC_ int torture_numasync=100;
 
-struct torture_suite *torture_root = NULL;
+struct torture_suite *torture_root;
 
 bool torture_register_suite(struct torture_suite *suite)
 {
 	if (!suite)
 		return true;
 
+	if (torture_root == NULL)
+		torture_root = talloc_zero(talloc_autofree_context(), struct torture_suite);
+
 	return torture_suite_add_suite(torture_root, suite);
 }
 
@@ -63,9 +66,6 @@
 	init_module_fn static_init[] = STATIC_torture_MODULES;
 	init_module_fn *shared_init = load_samba_modules(NULL, "torture");
 
-	torture_root = talloc_zero(talloc_autofree_context(), 
-				   struct torture_suite);
-	
 	run_init_functions(static_init);
 	run_init_functions(shared_init);
 

Modified: branches/SAMBA_4_0/source/torture/ui.h
===================================================================
--- branches/SAMBA_4_0/source/torture/ui.h	2007-08-31 17:38:37 UTC (rev 24850)
+++ branches/SAMBA_4_0/source/torture/ui.h	2007-08-31 18:35:30 UTC (rev 24851)
@@ -87,7 +87,7 @@
 
 	bool returncode;
 
-	char *outputdir;
+	const char *outputdir;
 	int level;
 	struct event_context *ev;
 };



More information about the samba-cvs mailing list