summaryrefslogtreecommitdiff
path: root/auth
diff options
context:
space:
mode:
authorNoel Power <noel.power@suse.com>2018-12-06 14:18:08 +0000
committerNoel Power <npower@samba.org>2018-12-10 10:38:24 +0100
commitcc11f71820c9669488bed9f1b02c815776d6d0c3 (patch)
treef2c18d9a9564e97c396d08b1125cfe415801bc32 /auth
parentb209def154c5427a62362ae903d432959e7260d2 (diff)
downloadsamba-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-xauth/credentials/tests/bind.py17
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):