smbtorture: add --extra-user option
authorStefan Metzmacher <metze@samba.org>
Wed, 14 May 2008 07:47:18 +0000 (09:47 +0200)
committerStefan Metzmacher <metze@samba.org>
Sat, 26 Jul 2008 18:11:09 +0000 (20:11 +0200)
This can we used to pass additional credentials to torture tests
(it can be used multiple times.

metze
(This used to be commit 4d80dbfac27659046e0986a2af3d06999e2cb2f2)

source4/torture/smbtorture.c

index 37d7d171caddb788287a64c12daefcca6d076f72..1329f03b04b19f78f598ef4777ae9ee66bbca1ea 100644 (file)
@@ -540,8 +540,9 @@ int main(int argc,char *argv[])
        const char *basedir = NULL;
        const char *extra_module = NULL;
        static int list_tests = 0;
+       int num_extra_users = 0;
        enum {OPT_LOADFILE=1000,OPT_UNCLIST,OPT_TIMELIMIT,OPT_DNS, OPT_LIST,
-             OPT_DANGEROUS,OPT_SMB_PORTS,OPT_ASYNC,OPT_NUMPROGS};
+             OPT_DANGEROUS,OPT_SMB_PORTS,OPT_ASYNC,OPT_NUMPROGS,OPT_EXTRA_USER};
        
        struct poptOption long_options[] = {
                POPT_AUTOHELP
@@ -569,6 +570,8 @@ int main(int argc,char *argv[])
                 "number of simultaneous async requests", NULL},
                {"maximum-runtime", 0, POPT_ARG_INT, &max_runtime, 0, 
                 "set maximum time for smbtorture to live", "seconds"},
+               {"extra-user",   0, POPT_ARG_STRING, NULL, OPT_EXTRA_USER,
+                "extra user credentials", NULL},
                POPT_COMMON_SAMBA
                POPT_COMMON_CONNECTION
                POPT_COMMON_CREDENTIALS
@@ -612,6 +615,15 @@ int main(int argc,char *argv[])
                case OPT_SMB_PORTS:
                        lp_set_cmdline(cmdline_lp_ctx, "smb ports", poptGetOptArg(pc));
                        break;
+               case OPT_EXTRA_USER:
+                       {
+                               char *option = talloc_asprintf(NULL, "torture:extra_user%u",
+                                                              ++num_extra_users);
+                               char *value = poptGetOptArg(pc);
+                               lp_set_cmdline(cmdline_lp_ctx, option, value);
+                               talloc_free(option);
+                       }
+                       break;
                }
        }