selftest: Run libsmbclient tests with NT1 and SMB3
authorAndreas Schneider <asn@samba.org>
Mon, 3 Sep 2018 14:55:02 +0000 (16:55 +0200)
committerJeremy Allison <jra@samba.org>
Wed, 5 Sep 2018 19:56:11 +0000 (21:56 +0200)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Sep  5 21:56:11 CEST 2018 on sn-devel-144

selftest/knownfail
source4/selftest/tests.py
source4/torture/libsmbclient/libsmbclient.c

index 93c1a3511ac7282a679927802eda5d505216c588..eef8134c9f5d46d962c72c583ec38fdbbce51325 100644 (file)
 ^samba4.smb2.acls.*.ACCESSBASED
 ^samba4.ldap.dirsync.python.ad_dc_ntvfs..__main__.ExtendedDirsyncTests.test_dirsync_deleted_items
 #^samba4.ldap.dirsync.python.ad_dc_ntvfs..__main__.ExtendedDirsyncTests.*
-^samba4.libsmbclient.opendir.opendir # This requires netbios browsing
+^samba4.libsmbclient.opendir.(NT1|SMB3).opendir # This requires netbios browsing
 ^samba4.rpc.drsuapi.*.drsuapi.DsGetDomainControllerInfo\(.*\)$
 ^samba4.smb2.oplock.exclusive2\(.*\)$ # samba 4 oplocks are a mess
 ^samba4.smb2.oplock.exclusive5\(.*\)$ # samba 4 oplocks are a mess
index 8c3547d846983d1f9e192ed5a954eacef96cf755..a7686318865d463b53d331853d146c0125148f4a 100755 (executable)
@@ -332,14 +332,17 @@ for t in base + raw + smb2 + netapi:
     plansmbtorture4testsuite(t, "ad_dc_ntvfs", ['//$SERVER/tmp', '-U$USERNAME%$PASSWORD'] + ntvfsargs)
 
 libsmbclient = smbtorture4_testsuites("libsmbclient.")
+protocols = [ 'NT1', 'SMB3' ]
 for t in libsmbclient:
     url = "smb://$USERNAME:$PASSWORD@$SERVER/tmp"
     if t == "libsmbclient.list_shares":
         url = "smb://$USERNAME:$PASSWORD@$SERVER"
 
-    libsmbclient_testargs = ["--option=torture:smburl=" + url,
-                             "--option=torture:replace_smbconf=%s/testdata/samba3/smb_new.conf" % srcdir()]
-    plansmbtorture4testsuite(t, "ad_dc", ['//$SERVER/tmp', '-U$USERNAME%$PASSWORD'] + libsmbclient_testargs)
+    for proto in protocols:
+        libsmbclient_testargs = ["--option=torture:smburl=" + url,
+                                 "--option=torture:replace_smbconf=%s/testdata/samba3/smb_new.conf" % srcdir(),
+                                 "--option=torture:clientprotocol=%s" % proto]
+        plansmbtorture4testsuite(t, "ad_dc", ['//$SERVER/tmp', '-U$USERNAME%$PASSWORD'] + libsmbclient_testargs, "samba4.%s.%s" % (t, proto))
 
 plansmbtorture4testsuite("raw.qfileinfo.ipc", "ad_dc_ntvfs", '//$SERVER/ipc\$ -U$USERNAME%$PASSWORD')
 
index 853d002aa8d2405c090efb2f06311e24fe134c92..f9154e8a19c5493bdb000ef8d1d0384ce273f171 100644 (file)
@@ -73,6 +73,8 @@ bool torture_libsmbclient_init_context(struct torture_context *tctx,
                cli_credentials_get_domain(popt_get_cmdline_credentials());
        const char *username =
                cli_credentials_get_username(popt_get_cmdline_credentials());
+       const char *client_proto =
+               torture_setting_string(tctx, "clientprotocol", NULL);
        SMBCCTX *ctx = NULL;
        SMBCCTX *p = NULL;
        bool ok = true;
@@ -103,6 +105,10 @@ bool torture_libsmbclient_init_context(struct torture_context *tctx,
 
        smbc_setFunctionAuthData(ctx, auth_callback);
 
+       if (client_proto != NULL) {
+               smbc_setOptionProtocols(ctx, client_proto, client_proto);
+       }
+
        *ctx_p = ctx;
 
 out: