summaryrefslogtreecommitdiff
path: root/source4/dsdb/tests
diff options
context:
space:
mode:
authorJamie McClymont <jamiemcclymont@catalyst.net.nz>2018-01-08 13:24:25 +1300
committerAndrew Bartlett <abartlet@samba.org>2018-01-08 03:34:18 +0100
commitbabf0a7bef893873af35751b7a8c081d86d2ff6b (patch)
tree99488e967fb671ad17bc845021950dde3fc31d80 /source4/dsdb/tests
parenteae6d76a366fdd7cfa65a5cf804759a1889976c8 (diff)
downloadsamba-babf0a7bef893873af35751b7a8c081d86d2ff6b.tar.gz
selftest: close connections after tests in samba4.ldap.acl.python
Over the length of a run of this suite (which runs under the standard process model), memory usage from LDAP connection handlers reaches 4GB. This patch reduces it to a manageable amount. Signed-off-by: Jamie McClymont <jamiemcclymont@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Diffstat (limited to 'source4/dsdb/tests')
-rwxr-xr-xsource4/dsdb/tests/python/acl.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/source4/dsdb/tests/python/acl.py b/source4/dsdb/tests/python/acl.py
index ec042eeec6b..d5d069e3e6b 100755
--- a/source4/dsdb/tests/python/acl.py
+++ b/source4/dsdb/tests/python/acl.py
@@ -74,6 +74,7 @@ class AclTests(samba.tests.TestCase):
self.user_pass = "samba123@"
self.configuration_dn = self.ldb_admin.get_config_basedn().get_linearized()
self.sd_utils = sd_utils.SDUtils(self.ldb_admin)
+ self.addCleanup(self.delete_admin_connection)
#used for anonymous login
self.creds_tmp = Credentials()
self.creds_tmp.set_username("")
@@ -109,6 +110,10 @@ class AclTests(samba.tests.TestCase):
else:
self.fail()
+ def delete_admin_connection(self):
+ del self.sd_utils
+ del self.ldb_admin
+
#tests on ldap add operations
class AclAddTests(AclTests):
@@ -151,6 +156,10 @@ class AclAddTests(AclTests):
delete_force(self.ldb_admin, self.get_user_dn(self.regular_user))
delete_force(self.ldb_admin, self.get_user_dn("test_add_anonymous"))
+ del self.ldb_notowner
+ del self.ldb_owner
+ del self.ldb_user
+
# Make sure top OU is deleted (and so everything under it)
def assert_top_ou_deleted(self):
res = self.ldb_admin.search(self.base_dn,
@@ -287,6 +296,10 @@ class AclModifyTests(AclTests):
delete_force(self.ldb_admin, self.get_user_dn("test_modify_user2"))
delete_force(self.ldb_admin, self.get_user_dn("test_anonymous"))
+ del self.ldb_user
+ del self.ldb_user2
+ del self.ldb_user3
+
def test_modify_u1(self):
"""5 Modify one attribute if you have DS_WRITE_PROPERTY for it"""
mod = "(OA;;WP;bf967953-0de6-11d0-a285-00aa003049e2;;%s)" % str(self.user_sid)
@@ -696,6 +709,10 @@ class AclSearchTests(AclTests):
delete_force(self.ldb_admin, self.get_user_dn("search_u3"))
delete_force(self.ldb_admin, self.get_user_dn("group1"))
+ del self.ldb_user
+ del self.ldb_user2
+ del self.ldb_user3
+
def test_search_anonymous1(self):
"""Verify access of rootDSE with the correct request"""
anonymous = SamDB(url=ldaphost, credentials=self.creds_tmp, lp=lp)
@@ -997,6 +1014,8 @@ class AclDeleteTests(AclTests):
delete_force(self.ldb_admin, self.get_user_dn(self.regular_user))
delete_force(self.ldb_admin, self.get_user_dn("test_anonymous"))
+ del self.ldb_user
+
def test_delete_u1(self):
"""User is prohibited by default to delete another User object"""
# Create user that we try to delete
@@ -1085,6 +1104,8 @@ class AclRenameTests(AclTests):
delete_force(self.ldb_admin, "%s,%s" % (self.ou1, self.base_dn))
delete_force(self.ldb_admin, self.get_user_dn(self.regular_user))
+ del self.ldb_user
+
def test_rename_u1(self):
"""Regular user fails to rename 'User object' within single OU"""
# Create OU structure
@@ -1321,6 +1342,9 @@ class AclCARTests(AclTests):
delete_force(self.ldb_admin, self.get_user_dn(self.user_with_wp))
delete_force(self.ldb_admin, self.get_user_dn(self.user_with_pc))
+ del self.ldb_user
+ del self.ldb_user2
+
def test_change_password1(self):
"""Try a password change operation without any CARs given"""
#users have change password by default - remove for negative testing
@@ -1606,6 +1630,10 @@ class AclExtendedTests(AclTests):
delete_force(self.ldb_admin, "CN=ext_group1,OU=ext_ou1," + self.base_dn)
delete_force(self.ldb_admin, "ou=ext_ou1," + self.base_dn)
+ del self.ldb_user1
+ del self.ldb_user2
+ del self.ldb_user3
+
def test_ntSecurityDescriptor(self):
#create empty ou
self.ldb_admin.create_ou("ou=ext_ou1," + self.base_dn)
@@ -1683,6 +1711,8 @@ class AclUndeleteTests(AclTests):
delete_force(self.ldb_admin, self.new_dn_ou)
delete_force(self.ldb_admin, self.ou1 + self.base_dn)
+ del self.ldb_user
+
def GUID_string(self, guid):
return ldb.schema_format_value("objectGUID", guid)
@@ -1798,6 +1828,8 @@ class AclSPNTests(AclTests):
delete_force(self.ldb_admin, "cn=%s,cn=computers,%s" % (self.computername, self.base_dn))
delete_force(self.ldb_admin, self.get_user_dn(self.test_user))
+ del self.ldb_user1
+
def replace_spn(self, _ldb, dn, spn):
print "Setting spn %s on %s" % (spn, dn)
res = self.ldb_admin.search(dn, expression="(objectClass=*)",