diff options
Diffstat (limited to 'source4/torture')
-rw-r--r-- | source4/torture/local/torture.c | 4 | ||||
-rw-r--r-- | source4/torture/smbtorture.c | 8 | ||||
-rw-r--r-- | source4/torture/ui.h | 2 | ||||
-rw-r--r-- | source4/torture/util.c | 8 |
4 files changed, 14 insertions, 8 deletions
diff --git a/source4/torture/local/torture.c b/source4/torture/local/torture.c index 76581540a1..0a2fdc2b2b 100644 --- a/source4/torture/local/torture.c +++ b/source4/torture/local/torture.c @@ -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, diff --git a/source4/torture/smbtorture.c b/source4/torture/smbtorture.c index baa8965c74..a77cc5cfdb 100644 --- a/source4/torture/smbtorture.c +++ b/source4/torture/smbtorture.c @@ -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 */ diff --git a/source4/torture/ui.h b/source4/torture/ui.h index 0cf7f3fa22..07c488f533 100644 --- a/source4/torture/ui.h +++ b/source4/torture/ui.h @@ -63,6 +63,8 @@ struct torture_context enum torture_result last_result; char *last_reason; + + char *outputdir; }; struct torture_suite diff --git a/source4/torture/util.c b/source4/torture/util.c index 5df90163ad..d59de9459f 100644 --- a/source4/torture/util.c +++ b/source4/torture/util.c @@ -26,9 +26,10 @@ /** 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; } |