1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-30 13:18:05 +03:00
samba-mirror/python/samba/tests
Aaron Haslett 6a7dd7ab51 tests: Reduce likelihood of auth_log test locking up during CI
We would sometimes see the auth_log test hang during a CI run. The CI
job would eventually fail after consuming a costly 10 hours of CI
runtime.

We believe the problem is around the test creating multiple instances of
the Messaging() context. This is a similar race condition to what was
seen in 19f34b2161.

Currently a new Messaging() context is created for every test case. By
using classmethods instead, the Messaging context is only created once
per python test file execution (i.e. creation of the python class,
rather than initialization of the python object, which happens for every
test-case).

This means the test will only create one Messaging() context, which
should avoid any race conditions.

Changes:
+ removed msg_ctxs - this wasn't actually used for anything.
+ use classmethods to setup and tear-down the Messaging() context (and
tweak lp initialization accordingly).
+ fix discardMessages() - the loop wasn't actually discarding any
messages previously (this may also have been the cause of the test
hanging).

Signed-off-by: Aaron Haslett <aaronhaslett@catalyst.net.nz>
Signed-off-by: Tim Beale <timbeale@catalyst.net.nz>
Reviewed-by: Noel Power <npower@samba.org>

Autobuild-User(master): Noel Power <npower@samba.org>
Autobuild-Date(master): Tue Mar  5 13:10:43 UTC 2019 on sn-devel-144
2019-03-05 13:10:43 +00:00
..
blackbox traffic: assert json equality in learner test 2019-01-08 23:55:34 +01:00
dcerpc s2 decrpc samr: Add tests for QueryDomainInfo 2019-02-14 05:03:23 +01:00
dns_forwarder_helpers selftest: Move dns_hub.py into selftest directory 2019-02-01 03:36:15 +01:00
emulate python/samba/tests: fix traffic for py2/py3 compatability 2018-09-05 23:27:13 +02:00
kcc python/tests/kcc_utils: disambiguate/unshadow a test 2018-10-25 21:45:59 +02:00
samba_tool selftest: Confirm new and old SDDL strings differ after a samba-tool dsacl set 2019-02-21 05:37:31 +01:00
__init__.py python/tests: add TestCaseInTempdir.mktemp() 2019-01-08 23:55:34 +01:00
audit_log_base.py tests: Work audit_log CLIENT_IP out from config instead of env var 2019-03-04 21:41:16 +00:00
audit_log_dsdb.py tests: Work audit_log CLIENT_IP out from config instead of env var 2019-03-04 21:41:16 +00:00
audit_log_pass_change.py tests: Work audit_log CLIENT_IP out from config instead of env var 2019-03-04 21:41:16 +00:00
auth_log_base.py tests: Reduce likelihood of auth_log test locking up during CI 2019-03-05 13:10:43 +00:00
auth_log_ncalrpc.py tests (audit_auth)_log: PEP8 cleanup. 2018-12-20 23:40:26 +01:00
auth_log_netlogon_bad_creds.py tests: Remove redundant credentials from auth_log tests 2019-03-04 21:41:16 +00:00
auth_log_netlogon.py tests: Remove redundant credentials from auth_log tests 2019-03-04 21:41:16 +00:00
auth_log_pass_change.py tests: Work auth_log CLIENT_IP out from config instead of env var 2019-03-04 21:41:17 +00:00
auth_log_samlogon.py tests: Remove redundant credentials from auth_log tests 2019-03-04 21:41:16 +00:00
auth_log_winbind.py s3 winbind auth_log: Tests for logon id logging. 2019-02-20 06:03:08 +01:00
auth_log.py tests: Switchover auth_log from s4 SMB client bindings to s4 2019-01-17 04:47:56 +01:00
auth.py PEP8: fix E302: expected 2 blank lines, found 1 2018-08-24 07:49:29 +02:00
common.py python/tests/common: avoid import * 2018-10-25 21:45:56 +02:00
complex_expressions.py ldb: complex expression testing 2018-12-07 07:07:08 +01:00
core.py PEP8: fix E302: expected 2 blank lines, found 1 2018-08-24 07:49:29 +02:00
credentials.py python/tests/credentials: remove unused variables 2018-11-01 05:08:14 +01:00
dckeytab.py PEP8: fix E122: continuation line missing indentation or outdented 2018-09-06 12:10:11 +02:00
dns_base.py python/tests/dns*: make use of dns.DNS_RCODE/dns.DNS_OPCODE 2019-01-29 22:09:07 +01:00
dns_forwarder.py python/tests/dns*: make use of dns.DNS_RCODE/dns.DNS_OPCODE 2019-01-29 22:09:07 +01:00
dns_invalid.py python/tests/dns*: remove unused imports 2018-10-25 21:45:54 +02:00
dns_tkey.py python/tests/dns*: remove unused imports 2018-10-25 21:45:54 +02:00
dns_wildcard.py dns wildcards: tests to confirm BUG 13536 2018-07-20 01:47:20 +02:00
dns.py dns: test for treating fully qualified zones same as unqualified 2018-12-20 23:40:26 +01:00
docs.py docs-xml: add "smbd max async dosmode" 2018-12-06 01:43:13 +01:00
domain_backup_offline.py tests: Rework backup test inheritance to make LP constraints clearer 2018-11-27 06:57:03 +01:00
domain_backup.py tests: Rework backup test inheritance to make LP constraints clearer 2018-11-27 06:57:03 +01:00
dsdb_lock.py PEP8: fix E303: too many blank lines (2) 2018-08-24 07:49:30 +02:00
dsdb_schema_attributes.py python/tests/dsdb_schema_attr: remove unused/duplicate imports 2018-10-25 21:45:54 +02:00
dsdb.py python/tests/dsdb: use correct variable names 2018-11-01 05:08:11 +01:00
encrypted_secrets.py python/samba/tests: PY3 port of samba.tests.encrypted_secrets 2018-09-05 23:27:12 +02:00
gensec.py PEP8: fix E303: too many blank lines (2) 2018-08-24 07:49:30 +02:00
get_opt.py PEP8: fix E302: expected 2 blank lines, found 1 2018-08-24 07:49:29 +02:00
getdcname.py selftest: Improve an error message 2019-01-11 06:01:01 +01:00
glue.py python: samba.tests.glue: Add new tests for samba._glue. 2017-03-10 07:31:10 +01:00
gpo.py tests: Avoid hardcoding domain in GPO tests 2019-01-07 22:48:29 +01:00
graph.py PEP8: fix E122: continuation line missing indentation or outdented 2018-08-24 07:49:26 +02:00
group_audit.py tests: Work audit_log CLIENT_IP out from config instead of env var 2019-03-04 21:41:16 +00:00
hostconfig.py PEP8: fix E231: missing whitespace after ',' 2018-08-24 07:49:28 +02:00
join.py PEP8: fix E303: too many blank lines (2) 2018-08-24 07:49:30 +02:00
krb5_credentials.py python tests: fix format() strings for Python 2.6 2018-09-21 20:04:23 +02:00
libsmb.py s3:libsmb: Revert SMB Py bindings name back to libsmb_samba_internal 2019-01-09 14:30:31 +01:00
loadparm.py PEP8: fix E302: expected 2 blank lines, found 1 2018-08-24 07:49:29 +02:00
lsa_string.py python/tests/lsa_string: remove duplicate method 2018-10-25 21:45:59 +02:00
messaging.py PEP8: fix E306: expected 1 blank line before a nested definition, found 0 2018-08-24 07:49:30 +02:00
net_join_no_spnego.py PEP8: fix E302: expected 2 blank lines, found 1 2018-08-24 07:49:29 +02:00
net_join.py PEP8: fix E302: expected 2 blank lines, found 1 2018-08-24 07:49:29 +02:00
netbios.py python/tests/netbios: remove unused imports 2018-10-25 21:45:54 +02:00
netcmd.py python/samba/tests: Use io.StringIO for py3 and StringIO.StrinIO for py2 2018-09-03 03:22:21 +02:00
netlogonsvc.py PEP8: fix E302: expected 2 blank lines, found 1 2018-08-24 07:49:29 +02:00
ntacls_backup.py tests: Change ntaclsbackup tests over to use s3 Py bindings 2019-01-14 03:30:20 +01:00
ntacls.py tests/ntacls: fix pep8 warnings 2018-06-28 12:14:59 +02:00
ntlm_auth_base.py selftest: Add a new base class for ntlm_auth tests 2018-12-19 12:42:09 +01:00
ntlm_auth_krb5.py tests/ntlm_auth: Port ntlm_auth_krb5 tests to python 2018-12-19 12:42:14 +01:00
ntlm_auth.py tests/ntlm_auth: Port ntlm_auth_diagnostics tests to python 2018-12-19 16:21:32 +01:00
ntlmdisabled.py python/tests/*: remove unused imports 2018-10-25 21:45:54 +02:00
pam_winbind_chauthtok.py tests: Check pam_winbind pw change with different options 2018-10-02 17:30:29 +02:00
pam_winbind_warn_pwd_expire.py PEP8: fix E711: comparison to None should be 'if cond is not None:' 2018-08-24 07:49:30 +02:00
pam_winbind.py PEP8: fix E711: comparison to None should be 'if cond is not None:' 2018-08-24 07:49:30 +02:00
param.py python: samba.tests.param: Add missing tests 2017-03-10 07:31:10 +01:00
password_hash_fl2003.py PEP8: fix E303: too many blank lines (2) 2018-08-24 07:49:30 +02:00
password_hash_fl2008.py PEP8: fix E303: too many blank lines (2) 2018-08-24 07:49:30 +02:00
password_hash_gpgme.py PEP8: fix E711: comparison to None should be 'if cond is not None:' 2018-08-24 07:49:30 +02:00
password_hash_ldap.py python/samba/tests: py3 port for samba.test.password_hash_ldap 2018-09-05 23:27:11 +02:00
password_hash.py python/samba/tests: make password_hash.py py2/py3 compatible 2018-09-05 23:27:11 +02:00
password_quality.py python/tests: remove unused imports 2018-10-25 21:45:54 +02:00
password_test.py python/tests/*: remove unused imports 2018-10-25 21:45:54 +02:00
policy.py PEP8: fix E128: continuation line under-indented for visual indent 2018-08-24 07:49:27 +02:00
posixacl.py python tests: fix format() strings for Python 2.6 2018-09-21 20:04:23 +02:00
prefork_restart.py source4 smbd test: prefork process restart 2018-11-23 08:25:19 +01:00
process_limits.py s4 smbd standard tests: limit forked processes 2018-11-30 11:42:44 +01:00
provision.py PEP8: fix E302: expected 2 blank lines, found 1 2018-08-24 07:49:29 +02:00
pso.py python tests: fix format() strings for Python 2.6 2018-09-21 20:04:23 +02:00
py_credentials.py python/samba/tests: port samba.tests.py_credentials for py2/py3 compat 2018-09-05 23:27:12 +02:00
registry.py python:tests: Use bin/tdbdump only if built 2017-11-24 01:13:14 +01:00
s3idmapdb.py python/tests: remove unused imports 2018-10-25 21:45:54 +02:00
s3param.py python/tests: remove unused imports 2018-10-25 21:45:54 +02:00
s3passdb.py python/tests: remove unused imports 2018-10-25 21:45:54 +02:00
s3registry.py python/tests: remove unused imports 2018-10-25 21:45:54 +02:00
s3windb.py python/tests: remove unused imports 2018-10-25 21:45:54 +02:00
samba3sam.py paged results: new paged results module using GUID list 2018-12-21 07:21:19 +01:00
samdb_api.py PEP8: fix E303: too many blank lines (2) 2018-08-24 07:49:30 +02:00
samdb.py python/tests/samdb: avoid useless local variable 2018-10-25 21:45:54 +02:00
security.py PEP8: fix E303: too many blank lines (2) 2018-08-24 07:49:30 +02:00
segfault.py Tests for segfaults in python bindings 2019-02-01 03:36:17 +01:00
smb.py s3:libsmb: Revert SMB Py bindings name back to libsmb_samba_internal 2019-01-09 14:30:31 +01:00
source.py python/tests/source: remove useless local variable 2018-11-01 05:08:14 +01:00
strings.py python tests: always use Python's unicodedata 2018-10-25 21:45:57 +02:00
subunitrun.py PY3: change shebang to python3 in misc dirs 2018-12-14 18:00:40 +01:00
tdb_util.py python: tests: Add test for tdb_copy function from tdb_util module. 2017-07-05 02:00:25 +02:00
test_pam_winbind_chauthtok.sh python/samba.tests: Ensure samba-tool is called with correct python ver. 2018-12-10 10:38:20 +01:00
test_pam_winbind_warn_pwd_expire.sh build: Move pam_wrapper to third_party 2017-11-25 10:14:13 +01:00
test_pam_winbind.sh build: Move pam_wrapper to third_party 2017-11-25 10:14:13 +01:00
upgrade.py PEP8: fix E128: continuation line under-indented for visual indent 2018-08-24 07:49:27 +02:00
upgradeprovision.py PEP8: fix W391: blank line at end of file 2018-08-24 07:49:31 +02:00
upgradeprovisionneeddc.py PEP8: fix E127: continuation line over-indented for visual indent 2018-09-06 12:10:12 +02:00
xattr.py PEP8: fix E401: multiple imports on one line 2018-08-24 07:49:30 +02:00