diff options
author | Peter Somogyi <psomogyi@hu.ibm.com> | 2017-08-29 11:15:11 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2017-08-30 00:16:51 +0200 |
commit | f0b85c1da2617f1b4d6f17a2cdab60943aca35e6 (patch) | |
tree | beec470d7ac31aff9a156c149f1786ab15d475a1 | |
parent | 5b7bc0ae13ccc8e0ec1ba0c4b57c72a7d1dec1be (diff) | |
download | samba-f0b85c1da2617f1b4d6f17a2cdab60943aca35e6.tar.gz |
s4/torture: make --unclist active with smb2 testcases
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12985
Signed-off-by: Peter Somogyi <psomogyi@hu.ibm.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Wed Aug 30 00:16:51 CEST 2017 on sn-devel-144
-rw-r--r-- | lib/torture/torture.h | 2 | ||||
-rw-r--r-- | source4/torture/smb2/util.c | 27 |
2 files changed, 29 insertions, 0 deletions
diff --git a/lib/torture/torture.h b/lib/torture/torture.h index 6b373a9ca15..c0fbdb9081d 100644 --- a/lib/torture/torture.h +++ b/lib/torture/torture.h @@ -101,6 +101,8 @@ struct torture_context /** Loadparm context (will go away in favor of torture_setting_ at some point) */ struct loadparm_context *lp_ctx; + + int conn_index; }; struct torture_results diff --git a/source4/torture/smb2/util.c b/source4/torture/smb2/util.c index 52a63dd962a..65090b0e8b7 100644 --- a/source4/torture/smb2/util.c +++ b/source4/torture/smb2/util.c @@ -33,6 +33,7 @@ #include "torture/torture.h" #include "torture/smb2/proto.h" +#include "source4/torture/util.h" /* @@ -385,6 +386,29 @@ bool torture_smb2_connection_ext(struct torture_context *tctx, NTSTATUS status; const char *host = torture_setting_string(tctx, "host", NULL); const char *share = torture_setting_string(tctx, "share", NULL); + const char *p = torture_setting_string(tctx, "unclist", NULL); + TALLOC_CTX *mem_ctx = NULL; + bool ok; + + if (p != NULL) { + char *host2 = NULL; + char *share2 = NULL; + + mem_ctx = talloc_new(tctx); + if (mem_ctx == NULL) { + return false; + } + + ok = torture_get_conn_index(tctx->conn_index++, mem_ctx, tctx, + &host2, &share2); + if (!ok) { + TALLOC_FREE(mem_ctx); + return false; + } + + host = host2; + share = share2; + } status = smb2_connect_ext(tctx, host, @@ -402,8 +426,11 @@ bool torture_smb2_connection_ext(struct torture_context *tctx, if (!NT_STATUS_IS_OK(status)) { torture_comment(tctx, "Failed to connect to SMB2 share \\\\%s\\%s - %s\n", host, share, nt_errstr(status)); + TALLOC_FREE(mem_ctx); return false; } + + TALLOC_FREE(mem_ctx); return true; } |