r16527: Add target argument for smbtorture.
authorJelmer Vernooij <jelmer@samba.org>
Mon, 26 Jun 2006 20:09:35 +0000 (20:09 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:09:33 +0000 (14:09 -0500)
Remove duplicate unc path separator conversion.
Add prefix for tempdirs.

source/script/tests/selftest.sh
source/torture/local/torture.c
source/torture/smbtorture.c
source/torture/ui.h
source/torture/util.c

index d6023e5bd788fc55cf81f9e217ff4829d521c0b7..c5df7146e599d14941bb0d7bc0489c6bbd71cb7e 100755 (executable)
@@ -62,7 +62,7 @@ TORTURE_INTERFACES='127.0.0.26/8,127.0.0.27/8,127.0.0.28/8,127.0.0.29/8,127.0.0.
 TORTURE_OPTIONS="--option=interfaces=$TORTURE_INTERFACES $CONFIGURATION"
 # ensure any one smbtorture call doesn't run too long
 TORTURE_OPTIONS="$TORTURE_OPTIONS --maximum-runtime=$TORTURE_MAXTIME"
-TORTURE_OPTIONS="$TORTURE_OPTIONS --option=target:samba4=yes"
+TORTURE_OPTIONS="$TORTURE_OPTIONS --target=samba4"
 export TORTURE_OPTIONS
 
 if [ x"$RUN_FROM_BUILD_FARM" = x"yes" ];then
index 76581540a1c03f2b5ee86674df4b90ffd6444c6b..0a2fdc2b2bd846a2cf27b958b521aebb08b177b6 100644 (file)
@@ -30,7 +30,7 @@ static BOOL test_tempdir(struct torture_context *torture,
 {
        char *location = NULL;
        
-       torture_assert_ntstatus_ok(torture, torture_temp_dir(torture, &location), 
+       torture_assert_ntstatus_ok(torture, torture_temp_dir(torture, "tempdir", &location), 
                                                                "torture_temp_dir should return NT_STATUS_OK" );
 
        torture_assert(torture, directory_exist(location), 
@@ -45,6 +45,7 @@ static BOOL test_setup_server(struct torture_context *torture,
        pid_t pid;
 
        torture_assert_ntstatus_ok(torture, torture_setup_server(torture, 
+                                                                       "setupserver-success",
                                                                        "./script/tests/mktestsetup.sh",
                                                                        "./bin/smbd", &pid),
                                                           "starting smbd failed");
@@ -58,6 +59,7 @@ static BOOL test_setup_server(struct torture_context *torture,
        waitpid(pid, NULL, 0);
 
        torture_assert_ntstatus_equal(torture, torture_setup_server(torture, 
+                                                                       "setupserver-fail",
                                                                        "./invalid-script",
                                                                        "./bin/smbd", &pid), 
                                                                  NT_STATUS_UNSUCCESSFUL,
index baa8965c7445d783540cdbecae32f17dc703f264..a77cc5cfdbfc3e12b88829ffad8b9f807100fb0c 100644 (file)
@@ -371,13 +371,13 @@ const static struct torture_ui_ops quiet_ui_ops = {
  int main(int argc,char *argv[])
 {
        int opt, i;
-       char *p;
        BOOL correct = True;
        int max_runtime=0;
        int argc_new;
        struct torture_context *torture;
        char **argv_new;
        poptContext pc;
+       static const char *target = "other";
        static const char *ui_ops_name = "simple";
        enum {OPT_LOADFILE=1000,OPT_UNCLIST,OPT_TIMELIMIT,OPT_DNS,
              OPT_DANGEROUS,OPT_SMB_PORTS,OPT_ASYNC};
@@ -399,6 +399,7 @@ const static struct torture_ui_ops quiet_ui_ops = {
                {"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},
+               {"target",              'T', POPT_ARG_STRING, &target, 0, "samba4|other", NULL},
                {"async",       'a', POPT_ARG_NONE,     NULL,   OPT_ASYNC,
                 "run async tests", NULL},
                {"num-async",    0, POPT_ARG_INT,  &torture_numasync,  0,
@@ -490,9 +491,8 @@ const static struct torture_ui_ops quiet_ui_ops = {
                exit(1);
        }
 
-        for(p = argv_new[1]; *p; p++) {
-               if(*p == '\\')
-                       *p = '/';
+       if (!strcmp(target, "samba4")) {
+               lp_set_cmdline("target:samba4", "true");
        }
 
        /* see if its a RPC transport specifier */
index 0cf7f3fa22183c7b78ee72d6e7f77ba635173cb2..07c488f53397653afeebc5f35ad09e4d88b185f2 100644 (file)
@@ -63,6 +63,8 @@ struct torture_context
 
        enum torture_result last_result;
        char *last_reason;
+
+       char *outputdir;
 };
 
 struct torture_suite
index 5df90163ad029187e3966c086eb8a443e741e14f..d59de9459f1feee621145d377c18eb5042daae92 100644 (file)
 /**
  create a temporary directory.
 */
-_PUBLIC_ NTSTATUS torture_temp_dir(TALLOC_CTX *mem_ctx, char **tempdir)
+_PUBLIC_ NTSTATUS torture_temp_dir(TALLOC_CTX *mem_ctx, const char *prefix, 
+                                                                  char **tempdir)
 {
-       *tempdir = talloc_strdup(mem_ctx, "torture-tmp.XXXXXX");
+       *tempdir = talloc_asprintf(mem_ctx, "torture.tmp-%s.XXXXXX", prefix);
 
        if (mkdtemp(*tempdir) == NULL)
                return NT_STATUS_UNSUCCESSFUL;
@@ -48,6 +49,7 @@ BOOL nt_time_equal(NTTIME *t1, NTTIME *t2)
  * Provision a Samba installation using @param setupdir_script and start smbd.
  */
 NTSTATUS torture_setup_server(TALLOC_CTX *mem_ctx, 
+                                                         const char *prefix,
                                                          const char *setupdir_script,
                                                          const char *smbd_path,
                                                          pid_t *smbd_pid)
@@ -61,7 +63,7 @@ NTSTATUS torture_setup_server(TALLOC_CTX *mem_ctx,
 
        *smbd_pid = -1;
 
-       status = torture_temp_dir(mem_ctx, &tempdir);
+       status = torture_temp_dir(mem_ctx, prefix, &tempdir);
        if (NT_STATUS_IS_ERR(status)) {
                return status;
        }