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