diff options
author | Jamie McClymont <jamiemcclymont@catalyst.net.nz> | 2018-01-08 13:24:25 +1300 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2018-01-08 03:34:18 +0100 |
commit | babf0a7bef893873af35751b7a8c081d86d2ff6b (patch) | |
tree | 99488e967fb671ad17bc845021950dde3fc31d80 /source4/dsdb/tests | |
parent | eae6d76a366fdd7cfa65a5cf804759a1889976c8 (diff) | |
download | samba-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-x | source4/dsdb/tests/python/acl.py | 32 |
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=*)", |