s3: libsmb: Correctly do lifecycle management on cli->smb1.tcon and cli->smb2.tcon.
[Samba.git] / source3 / selftest / tests.py
blob965ad7eee3e9183838f66712a8e549bb7778dd30
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_libarchive = ("HAVE_LIBARCHIVE" in config_hash)
58 have_linux_kernel_oplocks = ("HAVE_KERNEL_OPLOCKS_LINUX" in config_hash)
60 plantestsuite("samba3.blackbox.success", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
61 plantestsuite("samba3.blackbox.failure", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
63 plantestsuite("samba3.local_s3", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
65 plantestsuite("samba3.blackbox.registry.upgrade", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
67 tests = ["FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7", "LOCK9",
68 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
69 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
70 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
71 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "WILDDELETE", "PROPERTIES", "W2K",
72 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2", "OWNER-RIGHTS",
73 "CHAIN3", "PIDHIGH",
74 "GETADDRINFO", "UID-REGRESSION-TEST", "SHORTNAME-TEST",
75 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
76 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT", "SMB2-FTRUNCATE",
77 "CLEANUP1",
78 "CLEANUP2",
79 "CLEANUP4",
80 "BAD-NBT-SESSION"]
82 for t in tests:
83 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"])
84 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"])
85 if t == "TORTURE":
86 # this is a negative test to verify that the server rejects
87 # access without encryption
88 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"])
89 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"])
92 # RENAME-ACCESS needs to run against a special share - acl_xattr_ign_sysacl_windows
94 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"])
95 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"])
96 # non-crypt only
98 tests = ["OPLOCK-CANCEL"]
99 for t in tests:
100 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"])
102 env = "nt4_dc"
103 tests = ["MANGLE-ILLEGAL"]
104 for t in tests:
105 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"])
107 tests = ["RW1", "RW2", "RW3"]
108 for t in tests:
109 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"])
111 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
112 "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK" ]
114 for t in posix_tests:
115 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"])
116 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"])
117 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"])
119 env = "nt4_dc:local"
120 t = "CLEANUP3"
121 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"])
123 local_tests = [
124 "LOCAL-SUBSTITUTE",
125 "LOCAL-GENCACHE",
126 "LOCAL-TALLOC-DICT",
127 "LOCAL-BASE64",
128 "LOCAL-RBTREE",
129 "LOCAL-MEMCACHE",
130 "LOCAL-STREAM-NAME",
131 "LOCAL-string_to_sid",
132 "LOCAL-sid_to_string",
133 "LOCAL-binary_to_sid",
134 "LOCAL-DBTRANS",
135 "LOCAL-TEVENT-SELECT",
136 "LOCAL-CONVERT-STRING",
137 "LOCAL-CONV-AUTH-INFO",
138 "LOCAL-IDMAP-TDB-COMMON",
139 "LOCAL-MESSAGING-READ1",
140 "LOCAL-MESSAGING-READ2",
141 "LOCAL-MESSAGING-READ3",
142 "LOCAL-MESSAGING-READ4",
143 "LOCAL-MESSAGING-FDPASS1",
144 "LOCAL-MESSAGING-FDPASS2",
145 "LOCAL-MESSAGING-FDPASS2a",
146 "LOCAL-MESSAGING-FDPASS2b",
147 "LOCAL-PTHREADPOOL-TEVENT",
148 "LOCAL-CANONICALIZE-PATH",
149 "LOCAL-DBWRAP-WATCH1",
150 "LOCAL-DBWRAP-WATCH2",
151 "LOCAL-G-LOCK1",
152 "LOCAL-G-LOCK2",
153 "LOCAL-G-LOCK3",
154 "LOCAL-G-LOCK4",
155 "LOCAL-G-LOCK5",
156 "LOCAL-hex_encode_buf",
157 "LOCAL-remove_duplicate_addrs2"]
159 for t in local_tests:
160 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
162 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
163 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
164 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
165 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
167 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"]:
168 env = "nt4_dc"
169 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])
171 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
172 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])
173 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])
175 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", ""]:
176 for env in ["nt4_member", "ad_member"]:
177 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])
178 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])
180 env="nt4_dc"
181 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])
183 for env in ["nt4_member", "ad_member"]:
184 plantestsuite("samba3.blackbox.net_cred_change.(%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
186 env = "ad_member"
187 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
188 plantestsuite("samba3.wbinfo_simple.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
189 t = "WBCLIENT-MULTI-PING"
190 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
191 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
193 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])
195 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])
198 for env in ["maptoguest", "simpleserver"]:
199 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"])
201 env = "maptoguest"
202 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"])
203 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])
205 # plain
206 for env in ["nt4_dc"]:
207 plantestsuite("samba3.blackbox.smbclient_s3.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])
209 for env in ["nt4_member", "ad_member"]:
210 plantestsuite("samba3.blackbox.smbclient_s3.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])
212 for env in ["nt4_dc"]:
213 plantestsuite("samba3.blackbox.smbclient_s3.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, "--signing=required"])
215 for env in ["nt4_member", "ad_member"]:
216 plantestsuite("samba3.blackbox.smbclient_s3.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, "--signing=required"])
218 for env in ["nt4_dc"]:
219 # encrypted
220 plantestsuite("samba3.blackbox.smbclient_s3.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, "-e"])
222 for env in ["fileserver"]:
223 plantestsuite("samba3.blackbox.preserve_case (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_preserve_case.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
224 plantestsuite("samba3.blackbox.dfree_command (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
225 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])
226 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])
227 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])
228 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'])
229 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'])
230 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])
231 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])
232 plantestsuite("samba3.blackbox.netshareenum (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
233 plantestsuite("samba3.blackbox.acl_xattr (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls])
234 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])
235 plantestsuite("samba3.blackbox.inherit_owner.default(%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, 'tmp', '0', '0', '-m', 'NT1'])
236 plantestsuite("samba3.blackbox.inherit_owner.full (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, 'inherit_owner', '1', '1', '-m', 'NT1'])
237 plantestsuite("samba3.blackbox.inherit_owner.unix (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, 'inherit_owner_u', '0', '1', '-m', 'NT1'])
238 plantestsuite("samba3.blackbox.large_acl (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls])
241 # tar command tests
244 # tar command enabled only if built with libarchive
245 if have_libarchive:
246 # Test smbclient/tarmode
247 plantestsuite("samba3.blackbox.smbclient_tarmode (%s)" % env, env,
248 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
249 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
250 '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
252 # Test suite for new smbclient/tar with libarchive (GSoC 13)
253 plantestsuite("samba3.blackbox.smbclient_tar (%s)" % env, env,
254 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
255 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
256 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH',
257 '-d', '$PREFIX', '-b', smbclient3,
258 '--subunit', '--', configuration])
260 #TODO encrypted against member, with member creds, and with DC creds
261 plantestsuite("samba3.blackbox.net.misc", "nt4_dc:local",
262 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
263 scriptdir, "$SMB_CONF_PATH", net, configuration])
264 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
265 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
266 scriptdir, "$SMB_CONF_PATH", net, configuration])
267 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
268 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
269 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
270 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
271 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
272 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
274 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
275 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
276 scriptdir, "$SMB_CONF_PATH", net, configuration])
277 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
278 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
279 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
281 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
282 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
283 scriptdir, "$SMB_CONF_PATH", net, configuration])
284 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
285 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
286 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
289 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
290 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
291 "$LOCAL_PATH"])
293 plantestsuite(
294 "samba3.pthreadpool", "nt4_dc",
295 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
297 plantestsuite("samba3.async_req", "nt4_dc",
298 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
300 #smbtorture4 tests
302 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
303 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
304 "base.disconnect", "base.fdpass", "base.lock",
305 "base.mangle", "base.negnowait", "base.ntdeny1",
306 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
307 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
308 "base.xcopy", "base.samba3error"]
310 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
311 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
312 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
313 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
314 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
315 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
316 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
317 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
318 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
320 smb2 = smbtorture4_testsuites("smb2.")
322 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
323 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
324 "rpc.samba3.getaliasmembership-0",
325 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
326 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
327 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
328 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
329 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
330 "rpc.spoolss.driver",
331 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
332 "rpc.lsa.privileges", "rpc.lsa.secrets",
333 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
334 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
335 "rpc.samr.priv", "rpc.samr.passwords.validate",
336 "rpc.netlogon.admin",
337 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind"]
339 local = ["local.nss"]
341 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid"]
343 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
345 unix = ["unix.info2", "unix.whoami"]
347 nbt = ["nbt.dgram" ]
349 libsmbclient = ["libsmbclient"]
351 vfs = ["vfs.fruit", "vfs.acl_xattr", "vfs.fruit_netatalk", "vfs.fruit_file_id"]
353 tests= base + raw + smb2 + rpc + unix + local + rap + nbt + libsmbclient + idmap + vfs
355 for t in tests:
356 if t == "base.delaywrite":
357 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
358 elif t == "base.createx_access":
359 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
360 elif t == "rap.sam":
361 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
362 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
363 elif t == "winbind.pac":
364 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
365 elif t == "unix.whoami":
366 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
367 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
368 for env in ["nt4_dc", "nt4_member"]:
369 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
370 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
371 for env in ["ad_dc", "ad_member"]:
372 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
373 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
374 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
375 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
376 elif t == "raw.samba3posixtimedlock":
377 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
378 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
379 elif t == "raw.chkpath":
380 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
381 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
382 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
383 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
384 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
385 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
386 elif t == "raw.session" or t == "smb2.session":
387 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
388 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
389 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
390 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
391 elif t == "rpc.lsa":
392 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
393 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
394 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
395 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
396 elif t == "rpc.samr.passwords.validate":
397 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
398 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
399 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay":
400 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
401 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
402 elif t == "base.rw1":
403 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
404 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
405 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
406 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
407 elif t == "idmap.rfc2307":
408 plantestsuite(t, "ad_member_rfc2307",
409 [os.path.join(samba3srcdir,
410 "../nsswitch/tests/test_idmap_rfc2307.sh"),
411 '$DOMAIN',
412 'Administrator', '2000000',
413 'Guest', '2000001',
414 '"Domain Users"', '2000002',
415 'DnsAdmins', '2000003',
416 '2000005', '35',
417 'ou=idmap,dc=samba,dc=example,dc=com',
418 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
419 elif t == "idmap.alloc":
420 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
421 elif t == "idmap.rid":
422 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
423 elif t == "raw.acls":
424 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
425 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple')
426 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_special -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special')
427 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
428 elif t == "smb2.ioctl":
429 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
430 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
431 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
432 elif t == "smb2.lock":
433 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
434 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
435 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
436 elif t == "raw.read":
437 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
438 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
439 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
440 elif t == "raw.search":
441 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
442 # test the dirsort module.
443 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
444 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
445 elif t == "vfs.fruit":
446 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')
447 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_metadata_stream --option=torture:share2=vfs_wo_fruit -U$USERNAME%$PASSWORD', 'metadata_stream')
448 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_stream_depot --option=torture:share2=vfs_wo_fruit_stream_depot -U$USERNAME%$PASSWORD', 'streams_depot')
449 elif t == "vfs.fruit_netatalk":
450 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
451 elif t == "vfs.fruit_file_id":
452 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD')
453 elif t == "rpc.schannel_anon_setpw":
454 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
455 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
456 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
457 elif t == "local.nss":
458 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
459 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
460 elif t == "smb2.change_notify_disabled":
461 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
462 elif t == "smb2.notify":
463 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
464 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD --signing=required')
465 elif t == "smb2.dosmode":
466 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
467 elif t == "smb2.kernel-oplocks":
468 if have_linux_kernel_oplocks:
469 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD')
470 elif t == "vfs.acl_xattr":
471 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
472 elif t == "smb2.compound_find":
473 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
474 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
475 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
476 elif t == "rpc.samr.users.privileges":
477 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
478 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
479 else:
480 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
481 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
484 test = 'rpc.lsa.lookupsids'
485 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
486 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
487 endianness_options = ["", ",bigendian"]
488 for s in signseal_options:
489 for e in endianness_options:
490 for a in auth_options:
491 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
492 options = binding_string + " -U$USERNAME%$PASSWORD"
493 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
494 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"),
495 "none", options, configuration])
497 # We should try more combinations in future, but this is all
498 # the pre-calculated credentials cache supports at the moment
500 # As the ktest env requires SMB3_00 we need to use "smb2" until
501 # dcerpc client code in smbtorture support autonegotiation
502 # of any smb dialect.
503 e = ""
504 a = "smb2"
505 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
506 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
507 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
509 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
510 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
512 auth_options2 = ["krb5", "spnego,krb5"]
513 for a in auth_options2:
514 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
516 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"),
517 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
519 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
520 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
521 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
522 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
523 configuration, os.path.join(bindir(), "sharesec"), "tmp"])
525 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
526 [ os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
527 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
528 configuration, '$LOCAL_PATH', '$LOCK_DIR' ])
530 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
531 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
532 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
533 configuration])
534 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
535 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
536 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
537 configuration])
539 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
540 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
541 "$USERNAME", "$PASSWORD", "$SERVER",
542 os.path.join(bindir(), "rpcclient"), "tmp"])
544 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
545 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
546 "$USERNAME", "$PASSWORD", "$SERVER",
547 os.path.join(bindir(), "rpcclient")])
549 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
550 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
551 "$USERNAME", "$PASSWORD", "$SERVER",
552 smbclient3])
554 options_list = ["", "-e"]
555 for options in options_list:
556 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
557 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
558 "$PREFIX/ktest/krb5_ccache-2",
559 smbclient3, "$SERVER", options, configuration])
561 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
562 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
563 "$PREFIX/ktest/krb5_ccache-2",
564 smbclient3, "$SERVER", options, configuration])
566 plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
567 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
568 "$PREFIX/ktest/krb5_ccache-3",
569 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
571 plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
572 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
573 "$PREFIX/ktest/krb5_ccache-3",
574 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
576 plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "nt4_dc:local",
577 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
578 "none",
579 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
581 for alias in ["foo", "bar"]:
582 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
583 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
584 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
586 for e in endianness_options:
587 for a in auth_options:
588 for s in signseal_options:
589 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
590 options = binding_string + " -U$USERNAME%$PASSWORD"
591 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
593 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
594 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP[/pipe/FssagentRpc] -U$USERNAME%$PASSWORD', 'over ncacn_np')