selftest: run smb2.streams tests against a share with vfs_streams_xattr
[Samba.git] / source3 / selftest / tests.py
blob983f0ac1ae6bc3f4153581e76d3dbd09259288d9
1 #!/usr/bin/python
2 # This script generates a list of testsuites that should be run as part of
3 # the Samba 3 test suite.
5 # The output of this script is parsed by selftest.pl, which then decides
6 # which of the tests to actually run. It will, for example, skip all tests
7 # listed in selftest/skip or only run a subset during "make quicktest".
9 # The idea is that this script outputs all of the tests of Samba 3, not
10 # just those that are known to pass, and list those that should be skipped
11 # or are known to fail in selftest/skip or selftest/samba3-knownfail. This makes it
12 # very easy to see what functionality is still missing in Samba 3 and makes
13 # it possible to run the testsuite against other servers, such as Samba 4 or
14 # Windows that have a different set of features.
16 # The syntax for a testsuite is "-- TEST --" on a single line, followed
17 # by the name of the test, the environment it needs and the command to run, all
18 # three separated by newlines. All other lines in the output are considered
19 # comments.
21 import os, sys
22 sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(__file__), "../../selftest")))
23 import selftesthelpers
24 from selftesthelpers import *
25 smbtorture4_options.extend([
26 '--option=torture:sharedelay=100000',
27 '--option=torture:writetimeupdatedelay=500000',
30 def plansmbtorture4testsuite(name, env, options, description=''):
31 if description == '':
32 modname = "samba3.%s" % (name, )
33 else:
34 modname = "samba3.%s %s" % (name, description)
36 selftesthelpers.plansmbtorture4testsuite(
37 name, env, options, target='samba3', modname=modname)
39 # find config.h
40 try:
41 config_h = os.environ["CONFIG_H"]
42 except KeyError:
43 samba4bindir = bindir()
44 config_h = os.path.join(samba4bindir, "default/include/config.h")
46 # check available features
47 config_hash = dict()
48 f = open(config_h, 'r')
49 try:
50 lines = f.readlines()
51 config_hash = dict((x[0], ' '.join(x[1:]))
52 for x in map(lambda line: line.strip().split(' ')[1:],
53 filter(lambda line: (line[0:7] == '#define') and (len(line.split(' ')) > 2), lines)))
54 finally:
55 f.close()
57 have_linux_kernel_oplocks = ("HAVE_KERNEL_OPLOCKS_LINUX" in config_hash)
58 have_inotify = ("HAVE_INOTIFY" in config_hash)
59 have_ldwrap = ("HAVE_LDWRAP" in config_hash)
60 with_pthreadpool = ("WITH_PTHREADPOOL" in config_hash)
63 plantestsuite("samba3.blackbox.success", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
64 plantestsuite("samba3.blackbox.failure", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
66 plantestsuite("samba3.local_s3", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
68 plantestsuite("samba3.blackbox.registry.upgrade", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
70 tests = ["FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7", "LOCK9",
71 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
72 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
73 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
74 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "WILDDELETE", "PROPERTIES", "W2K",
75 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2", "OWNER-RIGHTS",
76 "CHAIN3", "PIDHIGH",
77 "UID-REGRESSION-TEST", "SHORTNAME-TEST",
78 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
79 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT", "SMB2-FTRUNCATE",
80 "SMB2-ANONYMOUS", "SMB2-DIR-FSYNC",
81 "CLEANUP1",
82 "CLEANUP2",
83 "CLEANUP4",
84 "BAD-NBT-SESSION"]
86 for t in tests:
87 plantestsuite("samba3.smbtorture_s3.plain(fileserver).%s" % t, "fileserver", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
88 plantestsuite("samba3.smbtorture_s3.crypt_client(nt4_dc).%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "-e", "-l $LOCAL_PATH"])
89 if t == "TORTURE":
90 # this is a negative test to verify that the server rejects
91 # access without encryption
92 plantestsuite("samba3.smbtorture_s3.crypt_server(nt4_dc).%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmpenc', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
93 plantestsuite("samba3.smbtorture_s3.plain(ad_dc_ntvfs).%s" % t, "ad_dc_ntvfs", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
95 t = "TLDAP"
96 plantestsuite("samba3.smbtorture_s3.plain.%s(ad_dc)" % t, "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER/tmp', '$DC_USERNAME', '$DC_PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
99 # RENAME-ACCESS needs to run against a special share - acl_xattr_ign_sysacl_windows
101 plantestsuite("samba3.smbtorture_s3.plain(nt4_dc).%s" % "RENAME-ACCESS","nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), "RENAME-ACCESS", '//$SERVER_IP/acl_xattr_ign_sysacl_windows', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
102 plantestsuite("samba3.smbtorture_s3.crypt_client(nt4_dc).%s" % "RENAME-ACCESS", "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), "RENAME-ACCESS", '//$SERVER_IP/acl_xattr_ign_sysacl_windows', '$USERNAME', '$PASSWORD', smbtorture3, "-e", "-l $LOCAL_PATH"])
103 # non-crypt only
105 tests = ["OPLOCK-CANCEL"]
106 for t in tests:
107 plantestsuite("samba3.smbtorture_s3.plain(nt4_dc).%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
109 env = "nt4_dc"
110 tests = ["MANGLE-ILLEGAL"]
111 for t in tests:
112 plantestsuite("samba3.smbtorture_s3.plain(%s).%s" % (env, t), env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/mangle_illegal', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
114 tests = ["RW1", "RW2", "RW3", "SMB2-BASIC"]
115 for t in tests:
116 plantestsuite("samba3.smbtorture_s3.vfs_aio_pthread(simpleserver).%s" % t, "simpleserver", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/vfs_aio_pthread', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
117 plantestsuite("samba3.smbtorture_s3.vfs_aio_fork(simpleserver).%s" % t, "simpleserver", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/vfs_aio_fork', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
119 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
120 "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK" ]
122 for t in posix_tests:
123 plantestsuite("samba3.smbtorture_s3.plain(nt4_dc).%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/posix_share', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
124 plantestsuite("samba3.smbtorture_s3.crypt(nt4_dc).%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/posix_share', '$USERNAME', '$PASSWORD', smbtorture3, "-e", "-l $LOCAL_PATH"])
125 plantestsuite("samba3.smbtorture_s3.plain(ad_dc_ntvfs).%s" % t, "ad_dc_ntvfs", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/posix_share', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
127 env = "nt4_dc:local"
128 t = "CLEANUP3"
129 plantestsuite("samba3.smbtorture_s3.plain(%s).%s" % (env, t), env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', binpath('smbtorture3'), "", "-l $LOCAL_PATH"])
131 local_tests = [
132 "LOCAL-SUBSTITUTE",
133 "LOCAL-GENCACHE",
134 "LOCAL-BASE64",
135 "LOCAL-RBTREE",
136 "LOCAL-MEMCACHE",
137 "LOCAL-STREAM-NAME",
138 "LOCAL-string_to_sid",
139 "LOCAL-sid_to_string",
140 "LOCAL-binary_to_sid",
141 "LOCAL-DBTRANS",
142 "LOCAL-TEVENT-POLL",
143 "LOCAL-CONVERT-STRING",
144 "LOCAL-CONV-AUTH-INFO",
145 "LOCAL-IDMAP-TDB-COMMON",
146 "LOCAL-MESSAGING-READ1",
147 "LOCAL-MESSAGING-READ2",
148 "LOCAL-MESSAGING-READ3",
149 "LOCAL-MESSAGING-READ4",
150 "LOCAL-MESSAGING-FDPASS1",
151 "LOCAL-MESSAGING-FDPASS2",
152 "LOCAL-MESSAGING-FDPASS2a",
153 "LOCAL-MESSAGING-FDPASS2b",
154 "LOCAL-MESSAGING-SEND-ALL",
155 "LOCAL-PTHREADPOOL-TEVENT",
156 "LOCAL-CANONICALIZE-PATH",
157 "LOCAL-DBWRAP-WATCH1",
158 "LOCAL-DBWRAP-WATCH2",
159 "LOCAL-DBWRAP-DO-LOCKED1",
160 "LOCAL-G-LOCK1",
161 "LOCAL-G-LOCK2",
162 "LOCAL-G-LOCK3",
163 "LOCAL-G-LOCK4",
164 "LOCAL-G-LOCK5",
165 "LOCAL-G-LOCK6",
166 "LOCAL-NAMEMAP-CACHE1",
167 "LOCAL-hex_encode_buf",
168 "LOCAL-remove_duplicate_addrs2"]
170 for t in local_tests:
171 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
173 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
174 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
175 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
176 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
178 plantestsuite("samba3.blackbox.smbclient_basic.NT1", "nt4_dc_schannel", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, "-mNT1"])
179 plantestsuite("samba3.blackbox.smbclient_basic.SMB2_02", "nt4_dc_schannel", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, "-mSMB2_02"])
180 plantestsuite("samba3.blackbox.smbclient_basic.SMB2_10", "nt4_dc_schannel", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, "-mSMB2_10"])
181 plantestsuite("samba3.blackbox.smbclient_basic.SMB3_02", "nt4_dc_schannel", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, "-mSMB3_02"])
182 plantestsuite("samba3.blackbox.smbclient_basic.SMB3_11", "nt4_dc_schannel", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, "-mSMB3_11"])
184 plantestsuite("samba3.blackbox.smbclient_basic", "ad_member", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration])
185 for options in ["", "--option=clientntlmv2auth=no", "--option=clientusespnego=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", "--option=clientntlmv2auth=no --option=clientlanmanauth=yes --option=clientmaxprotocol=NT1"]:
186 env = "nt4_dc"
187 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) %s" % (env, options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, options])
189 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
190 plantestsuite("samba3.blackbox.smbclient_machine_auth.plain (%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
191 plantestsuite("samba3.blackbox.smbclient_ntlm.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$DC_USERNAME', '$DC_PASSWORD', "never", smbclient3, configuration])
193 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", ""]:
194 for env in ["nt4_member", "ad_member"]:
195 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) %s" % (env, options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, options])
196 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) %s member creds" % (env, options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$SERVER/$USERNAME', '$PASSWORD', smbclient3, configuration, options])
198 env="ad_dc"
199 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
201 for env in ["ad_member:local", "nt4_dc:local"]:
202 plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
204 env="nt4_dc"
205 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) ipv6" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IPV6', '$SERVER/$USERNAME', '$PASSWORD', smbclient3, configuration])
207 for env in ["nt4_member", "ad_member"]:
208 plantestsuite("samba3.blackbox.net_cred_change.(%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
210 env = "ad_member"
211 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
212 plantestsuite("samba3.wbinfo_simple.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
213 plantestsuite("samba3.wbinfo_name_lookup", env,
214 [ os.path.join(srcdir(),
215 "nsswitch/tests/test_wbinfo_name_lookup.sh"),
216 '$DOMAIN', '$REALM', '$DC_USERNAME' ])
218 env = "ad_member:local"
219 plantestsuite("samba3.wbinfo_user_info", env,
220 [ os.path.join(srcdir(),
221 "nsswitch/tests/test_wbinfo_user_info.sh"),
222 '$DOMAIN', '$REALM', 'alice', 'alice', 'jane', 'jane.doe' ])
224 env = "fl2008r2dc:local"
225 plantestsuite("samba3.wbinfo_user_info", env,
226 [ os.path.join(srcdir(),
227 "nsswitch/tests/test_wbinfo_user_info.sh"),
228 '$TRUST_DOMAIN', '$TRUST_REALM', 'alice', 'alice', 'jane', 'jane.doe' ])
230 env = "ad_member"
231 t = "WBCLIENT-MULTI-PING"
232 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
233 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
235 plantestsuite("samba3.ntlm_auth.krb5 with old ccache(ktest:local)", "ktest:local", [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_krb5.sh"), valgrindify(python), samba3srcdir, ntlm_auth3, '$PREFIX/ktest/krb5_ccache-2', '$SERVER', configuration])
237 plantestsuite("samba3.ntlm_auth.krb5(ktest:local)", "ktest:local", [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_krb5.sh"), valgrindify(python), samba3srcdir, ntlm_auth3, '$PREFIX/ktest/krb5_ccache-3', '$SERVER', configuration])
240 for env in ["maptoguest", "simpleserver"]:
241 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) local creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3, configuration + " --option=clientntlmv2auth=no --option=clientlanmanauth=yes"])
243 env = "maptoguest"
244 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) bad username" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', 'notmy$USERNAME', '$PASSWORD', smbclient3, configuration + " --option=clientntlmv2auth=no --option=clientlanmanauth=yes"])
245 plantestsuite("samba3.blackbox.smbclient_ntlm.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$USERNAME', '$PASSWORD', "baduser", smbclient3, configuration])
247 # plain
248 for env in ["nt4_dc"]:
249 plantestsuite("samba3.blackbox.smbclient_s3.NT1.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "NT1"])
250 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "SMB3"])
252 for env in ["nt4_member", "ad_member"]:
253 plantestsuite("samba3.blackbox.smbclient_s3.NT1.plain (%s) member creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER/$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "NT1"])
254 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.plain (%s) member creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER/$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "SMB3"])
256 for env in ["nt4_dc"]:
257 plantestsuite("samba3.blackbox.smbclient_s3.NT1.sign (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "NT1", "--signing=required"])
258 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.sign (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "SMB3", "--signing=required"])
260 for env in ["nt4_member", "ad_member"]:
261 plantestsuite("samba3.blackbox.smbclient_s3.NT1.sign (%s) member creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER/$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "NT1", "--signing=required"])
262 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.sign (%s) member creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER/$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "SMB3", "--signing=required"])
264 for env in ["nt4_dc"]:
265 # encrypted
266 plantestsuite("samba3.blackbox.smbclient_s3.NT1.crypt (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "NT1", "-e"])
267 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.crypt (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "SMB3", "-e"])
269 for env in ["fileserver"]:
270 plantestsuite("samba3.blackbox.preserve_case (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_preserve_case.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
271 plantestsuite("samba3.blackbox.dfree_command (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
272 plantestsuite("samba3.blackbox.dfree_quota (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_dfree_quota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcquotas, smbcacls])
273 plantestsuite("samba3.blackbox.valid_users (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
274 plantestsuite("samba3.blackbox.offline (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
275 plantestsuite("samba3.blackbox.shadow_copy2 NT1 (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3, '-m', 'NT1'])
276 plantestsuite("samba3.blackbox.shadow_copy2 SMB3 (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3, '-m', 'SMB3'])
277 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
278 plantestsuite("samba3.blackbox.smbget (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbget.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', 'smbget_user', '$PASSWORD', '$LOCAL_PATH/smbget', smbget])
279 plantestsuite("samba3.blackbox.netshareenum (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
280 plantestsuite("samba3.blackbox.acl_xattr.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mNT1'])
281 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
282 plantestsuite("samba3.blackbox.smb2.not_casesensitive (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smb2_not_casesensitive.sh"), '//$SERVER/tmp', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
283 plantestsuite("samba3.blackbox.inherit_owner.default.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'tmp', '0', '0', '-m', 'NT1'])
284 plantestsuite("samba3.blackbox.inherit_owner.default.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'tmp', '0', '0', '-m', 'SMB3'])
285 plantestsuite("samba3.blackbox.inherit_owner.full.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'inherit_owner', '1', '1', '-m', 'NT1'])
286 plantestsuite("samba3.blackbox.inherit_owner.full.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'inherit_owner', '1', '1', '-m', 'SMB3'])
287 plantestsuite("samba3.blackbox.inherit_owner.unix.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'inherit_owner_u', '0', '1', '-m', 'NT1'])
288 plantestsuite("samba3.blackbox.inherit_owner.unix.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'inherit_owner_u', '0', '1', '-m', 'SMB3'])
289 plantestsuite("samba3.blackbox.large_acl.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'NT1'])
290 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
291 plantestsuite("samba3.blackbox.give_owner", env, [os.path.join(samba3srcdir, "script/tests/test_give_owner.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'tmp'])
294 # tar command tests
297 # Test smbclient/tarmode
298 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env,
299 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
300 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
301 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mNT1"])
302 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
303 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
304 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
305 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mSMB3"])
307 # Test suite for new smbclient/tar with libarchive (GSoC 13)
308 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env,
309 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
310 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
311 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
312 '-d', '$PREFIX', '-b', smbclient3,
313 '--subunit', '--', configuration, '-mNT1'])
314 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
315 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
316 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
317 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
318 '-d', '$PREFIX', '-b', smbclient3,
319 '--subunit', '--', configuration, '-mSMB3'])
321 plantestsuite("samba3.blackbox.net_usershare", "fileserver:local", [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
323 #TODO encrypted against member, with member creds, and with DC creds
324 plantestsuite("samba3.blackbox.net.misc", "nt4_dc:local",
325 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
326 scriptdir, "$SMB_CONF_PATH", net, configuration])
327 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
328 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
329 scriptdir, "$SMB_CONF_PATH", net, configuration])
330 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
331 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
332 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
333 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
334 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
335 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
337 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
338 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
339 scriptdir, "$SMB_CONF_PATH", net, configuration])
340 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
341 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
342 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
344 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
345 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
346 scriptdir, "$SMB_CONF_PATH", net, configuration])
347 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
348 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
349 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
352 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
353 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
354 "$LOCAL_PATH"])
356 plantestsuite(
357 "samba3.pthreadpool", "none",
358 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
360 if with_pthreadpool and have_ldwrap:
361 plantestsuite("samba3.pthreadpool_cmocka", "none",
362 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
364 plantestsuite("samba3.async_req", "nt4_dc",
365 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
367 #smbtorture4 tests
369 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
370 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
371 "base.disconnect", "base.fdpass", "base.lock",
372 "base.mangle", "base.negnowait", "base.ntdeny1",
373 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
374 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
375 "base.xcopy", "base.samba3error"]
377 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
378 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
379 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
380 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
381 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
382 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
383 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
384 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
385 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
387 smb2 = smbtorture4_testsuites("smb2.")
389 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
390 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
391 "rpc.samba3.getaliasmembership-0",
392 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
393 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
394 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
395 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
396 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
397 "rpc.spoolss.driver",
398 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
399 "rpc.lsa.privileges", "rpc.lsa.secrets",
400 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
401 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
402 "rpc.samr.priv", "rpc.samr.passwords.validate",
403 "rpc.netlogon.admin",
404 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind"]
406 local = ["local.nss"]
408 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
410 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
412 unix = ["unix.info2", "unix.whoami"]
414 nbt = ["nbt.dgram" ]
416 libsmbclient = ["libsmbclient"]
418 vfs = ["vfs.fruit", "vfs.acl_xattr", "vfs.fruit_netatalk", "vfs.fruit_file_id", "vfs.fruit_timemachine"]
420 tests= base + raw + smb2 + rpc + unix + local + rap + nbt + libsmbclient + idmap + vfs
422 for t in tests:
423 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
424 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
425 elif t == "base.createx_access":
426 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
427 elif t == "rap.sam":
428 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
429 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
430 elif t == "winbind.pac":
431 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
432 elif t == "unix.whoami":
433 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
434 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
435 for env in ["nt4_dc", "nt4_member"]:
436 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
437 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
438 for env in ["ad_dc", "ad_member"]:
439 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
440 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
441 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
442 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
443 elif t == "raw.samba3posixtimedlock":
444 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
445 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
446 elif t == "raw.chkpath":
447 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
448 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
449 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
450 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
451 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
452 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
453 elif t == "raw.session" or t == "smb2.session":
454 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
455 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
456 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
457 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
458 elif t == "rpc.lsa":
459 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
460 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
461 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
462 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
463 elif t == "rpc.samr.passwords.validate":
464 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
465 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
466 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay":
467 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
468 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
469 elif t == "base.rw1":
470 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
471 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
472 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
473 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
474 elif t == "idmap.rfc2307":
475 plantestsuite(t, "ad_member_rfc2307",
476 [os.path.join(samba3srcdir,
477 "../nsswitch/tests/test_idmap_rfc2307.sh"),
478 '$DOMAIN',
479 'Administrator', '2000000',
480 'Guest', '2000001',
481 '"Domain Users"', '2000002',
482 'DnsAdmins', '2000003',
483 '2000005', '35',
484 'ou=idmap,dc=samba,dc=example,dc=com',
485 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
486 elif t == "idmap.alloc":
487 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
488 elif t == "idmap.rid":
489 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
490 elif t == "idmap.ad":
491 plantestsuite(t, "ad_member_idmap_ad", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_ad.sh"), '$DOMAIN', '$DC_SERVER', '$DC_PASSWORD'])
492 elif t == "raw.acls":
493 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
494 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
495 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
496 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
497 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
498 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
499 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
500 elif t == "smb2.ioctl":
501 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
502 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
503 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
504 elif t == "smb2.lock":
505 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
506 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
507 elif t == "raw.lock" or t == "base.lock":
508 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
509 elif t == "raw.read":
510 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
511 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
512 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
513 elif t == "raw.search":
514 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
515 # test the dirsort module.
516 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
517 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
518 elif t == "vfs.fruit":
519 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share --option=torture:share2=vfs_wo_fruit', 'metadata_netatalk')
520 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_metadata_stream -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share --option=torture:share2=vfs_wo_fruit', 'metadata_stream')
521 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_stream_depot -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share --option=torture:share2=vfs_wo_fruit_stream_depot', 'streams_depot')
522 elif t == "vfs.fruit_netatalk":
523 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
524 elif t == "vfs.fruit_timemachine":
525 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
526 elif t == "vfs.fruit_file_id":
527 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD')
528 elif t == "rpc.schannel_anon_setpw":
529 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
530 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
531 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
532 elif t == "local.nss":
533 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
534 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
535 elif t == "smb2.change_notify_disabled":
536 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
537 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
538 # These tests are a little slower so don't duplicate them with ad_dc
539 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
540 elif t == "smb2.dosmode":
541 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
542 elif t == "smb2.kernel-oplocks":
543 if have_linux_kernel_oplocks:
544 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
545 elif t == "smb2.notify-inotify":
546 if have_inotify:
547 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
548 elif t == "vfs.acl_xattr":
549 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
550 elif t == "smb2.compound_find":
551 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
552 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
553 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
554 elif t == "rpc.samr.users.privileges":
555 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
556 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
557 elif t == "smb2.compound":
558 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
559 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
560 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
561 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
562 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
563 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
564 elif t == "libsmbclient":
565 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%%$PASSWORD '
566 '--option=torture:smburl=smb://$USERNAME:$PASSWORD@$SERVER/tmp '
567 '--option=torture:replace_smbconf=%s' % os.path.join(srcdir(), "testdata/samba3/smb_new.conf"))
568 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%%$PASSWORD '
569 '--option=torture:smburl=smb://$USERNAME:$PASSWORD@$SERVER/tmp '
570 '--option=torture:replace_smbconf=%s' % os.path.join(srcdir(), "testdata/samba3/smb_new.conf"))
571 elif t == "smb2.streams":
572 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
573 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
574 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
575 else:
576 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
577 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
580 test = 'rpc.lsa.lookupsids'
581 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
582 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
583 endianness_options = ["", ",bigendian"]
584 for s in signseal_options:
585 for e in endianness_options:
586 for a in auth_options:
587 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
588 options = binding_string + " -U$USERNAME%$PASSWORD"
589 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
590 plantestsuite("samba3.blackbox.rpcclient over ncacn_np with [%s%s%s] " % (a, s, e), "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
591 "none", options, configuration])
593 # We should try more combinations in future, but this is all
594 # the pre-calculated credentials cache supports at the moment
596 # As the ktest env requires SMB3_00 we need to use "smb2" until
597 # dcerpc client code in smbtorture support autonegotiation
598 # of any smb dialect.
599 e = ""
600 a = "smb2"
601 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
602 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
603 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
605 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
606 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
608 auth_options2 = ["krb5", "spnego,krb5"]
609 for a in auth_options2:
610 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
612 plantestsuite("samba3.blackbox.rpcclient krb5 ncacn_np with [%s%s%s] " % (a, s, e), "ktest:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
613 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
615 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
616 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
617 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
618 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
619 configuration, os.path.join(bindir(), "sharesec"), "tmp"])
621 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
622 [ os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
623 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
624 configuration, '$LOCAL_PATH', '$LOCK_DIR' ])
626 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
627 [ os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh") ])
629 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
630 [ os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
631 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
633 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
634 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
635 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
636 configuration])
637 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
638 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
639 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
640 configuration])
641 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
642 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
643 "$SERVER", "$PREFIX/net_rpc_oldjoin",
644 "$SMB_CONF_PATH"])
646 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
647 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
648 "$USERNAME", "$PASSWORD", "$SERVER",
649 os.path.join(bindir(), "rpcclient"), "tmp"])
651 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
652 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
653 "$USERNAME", "$PASSWORD", "$SERVER",
654 os.path.join(bindir(), "rpcclient")])
656 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
657 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
658 "$USERNAME", "$PASSWORD", "$SERVER",
659 smbclient3])
661 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
662 [os.path.join(samba3srcdir,
663 "script/tests/test_rpcclient_netsessenum.sh"),
664 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
665 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
667 # The ktest environment uses:
668 # server min protocol = SMB3_00
669 # client max protocol = SMB3
670 options_list = ["", "-e"]
671 for options in options_list:
672 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
673 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
674 "$PREFIX/ktest/krb5_ccache-2",
675 smbclient3, "$SERVER", options, configuration])
677 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
678 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
679 "$PREFIX/ktest/krb5_ccache-3",
680 smbclient3, "$SERVER", options, configuration])
682 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
683 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
684 "$PREFIX/ktest/krb5_ccache-3",
685 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
687 options_list = ["-mNT1", "-mNT1 -e", "-mSMB3", "-mSMB3 -e"]
688 for options in options_list:
689 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "nt4_dc:local",
690 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
691 "none",
692 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
694 for alias in ["foo", "bar"]:
695 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
696 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
697 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
699 for e in endianness_options:
700 for a in auth_options:
701 for s in signseal_options:
702 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
703 options = binding_string + " -U$USERNAME%$PASSWORD"
704 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
706 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
707 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP[/pipe/FssagentRpc] -U$USERNAME%$PASSWORD', 'over ncacn_np')