summaryrefslogtreecommitdiff
path: root/source4/torture
diff options
context:
space:
mode:
Diffstat (limited to 'source4/torture')
-rw-r--r--source4/torture/local/torture.c4
-rw-r--r--source4/torture/smbtorture.c8
-rw-r--r--source4/torture/ui.h2
-rw-r--r--source4/torture/util.c8
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;
}