diff options
author | Noel Power <noel.power@suse.com> | 2018-12-06 14:18:08 +0000 |
---|---|---|
committer | Noel Power <npower@samba.org> | 2018-12-10 10:38:24 +0100 |
commit | cc11f71820c9669488bed9f1b02c815776d6d0c3 (patch) | |
tree | f2c18d9a9564e97c396d08b1125cfe415801bc32 /auth | |
parent | b209def154c5427a62362ae903d432959e7260d2 (diff) | |
download | samba-cc11f71820c9669488bed9f1b02c815776d6d0c3.tar.gz |
auth/credentials/tests: Python 3.6 avoid deepcopy error
In PY3 both deepcopy & (shallow)copy fail with
Traceback (most recent call last):
File "auth/credentials/tests/bind.py", line 42, in <module>
creds_machine = copy.copy(creds)
File "/usr/lib64/python3.6/copy.py", line 96, in copy
rv = reductor(4)
TypeError: can't pickle credentials.Credentials objects
This patch avoids the nasty copies but creating and populating the
Credential objects instead of copying
Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'auth')
-rwxr-xr-x | auth/credentials/tests/bind.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/auth/credentials/tests/bind.py b/auth/credentials/tests/bind.py index 97003f5a333..31627af5769 100755 --- a/auth/credentials/tests/bind.py +++ b/auth/credentials/tests/bind.py @@ -19,6 +19,13 @@ from ldb import SCOPE_BASE, SCOPE_SUBTREE from samba import gensec import samba.tests from samba.tests import delete_force +from samba.credentials import Credentials + +def create_credential(lp, other): + c = Credentials() + c.guess(lp) + c.set_gensec_features(other.get_gensec_features()) + return c parser = optparse.OptionParser("ldap [options] <host>") sambaopts = options.SambaOptions(parser) @@ -39,12 +46,12 @@ host = args[0] lp = sambaopts.get_loadparm() creds = credopts.get_credentials(lp) creds.set_gensec_features(creds.get_gensec_features() | gensec.FEATURE_SEAL) -creds_machine = copy.deepcopy(creds) -creds_user1 = copy.deepcopy(creds) -creds_user2 = copy.deepcopy(creds) -creds_user3 = copy.deepcopy(creds) -creds_user4 = copy.deepcopy(creds) +creds_machine = create_credential(lp, creds) +creds_user1 = create_credential(lp, creds) +creds_user2 = create_credential(lp, creds) +creds_user3 = create_credential(lp, creds) +creds_user4 = create_credential(lp, creds) class BindTests(samba.tests.TestCase): |