This is an automated email from the git hooks/post-receive script.
firstyear pushed a commit to branch master
in repository 389-ds-base.
commit 40ab212f769aa7bef9d87e6a046dd5cc951e595b
Author: William Brown <firstyear(a)redhat.com>
Date: Mon Nov 20 17:46:01 2017 +0100
Ticket 49445 - Improve regression test to detect memory leak.
Bug Description: Memory leak in ldif2db of the instance
name selected for the import
Fix Description: Update the test case to work on python 3,
which involves changes to tot_init test, and improvements
to dbgen to create the correct objects.
https://pagure.io/389-ds-base/issue/49445
Author: wibrown
Review by: lkrispen, spichugi (Thanks!)
---
...ot_init.py => referral_during_tot_init_test.py} | 32 +++++++++++++---------
src/lib389/lib389/dbgen.py | 10 +++++++
2 files changed, 29 insertions(+), 13 deletions(-)
diff --git a/dirsrvtests/tests/suites/mapping_tree/referral_during_tot_init.py
b/dirsrvtests/tests/suites/mapping_tree/referral_during_tot_init_test.py
similarity index 67%
rename from dirsrvtests/tests/suites/mapping_tree/referral_during_tot_init.py
rename to dirsrvtests/tests/suites/mapping_tree/referral_during_tot_init_test.py
index e5aee7d..83ad74a 100644
--- a/dirsrvtests/tests/suites/mapping_tree/referral_during_tot_init.py
+++ b/dirsrvtests/tests/suites/mapping_tree/referral_during_tot_init_test.py
@@ -13,36 +13,39 @@ from lib389._constants import (DEFAULT_SUFFIX, HOST_MASTER_2,
PORT_MASTER_2, TAS
from lib389.idm.user import (TEST_USER_PROPERTIES, UserAccounts)
+from lib389.dbgen import dbgen
+
def test_referral_during_tot(topology_m2):
master1 = topology_m2.ms["master1"]
master2 = topology_m2.ms["master2"]
+ users = UserAccounts(master2, DEFAULT_SUFFIX)
+
+ u = users.create(properties=TEST_USER_PROPERTIES)
+ u.set('userPassword', 'password')
+
+ binddn = u.dn
+ bindpw = 'password'
+
# Create a bunch of entries on master1
ldif_dir = master1.get_ldif_dir()
import_ldif = ldif_dir + '/ref_during_tot_import.ldif'
- master1.buildLDIF(10000, import_ldif)
+ dbgen(master1, 10000, import_ldif, DEFAULT_SUFFIX)
master1.stop()
- try:
- master1.ldif2db(bename=None, excludeSuffixes=None, encrypt=False,
suffixes=[DEFAULT_SUFFIX], import_file=import_ldif)
- except:
- pass
- # master1.tasks.importLDIF(suffix=DEFAULT_SUFFIX, input_file=import_ldif,
args={TASK_WAIT: True})
+ master1.ldif2db(bename=None, excludeSuffixes=None, encrypt=False,
suffixes=[DEFAULT_SUFFIX], import_file=import_ldif)
master1.start()
- users = UserAccounts(master1, DEFAULT_SUFFIX, rdn='ou=Accounting')
-
+ # Recreate the user on m1 also, so that if the init finishes first ew don't lose
the user on m2
+ users = UserAccounts(master1, DEFAULT_SUFFIX)
u = users.create(properties=TEST_USER_PROPERTIES)
u.set('userPassword', 'password')
-
- binddn = u.dn
- bindpw = 'password'
-
# Now export them to master2
master1.agreement.init(DEFAULT_SUFFIX, HOST_MASTER_2, PORT_MASTER_2)
# While that's happening try to bind as a user to master 2
# This should trigger the referral code.
+ referred = False
for i in range(0, 100):
conn = ldap.initialize(master2.toLDAPURL())
conn.set_option(ldap.OPT_REFERRALS, False)
@@ -50,7 +53,10 @@ def test_referral_during_tot(topology_m2):
conn.simple_bind_s(binddn, bindpw)
conn.unbind_s()
except ldap.REFERRAL:
- pass
+ referred = True
+ break
+ # Means we never go a referral, should not happen!
+ assert referred
# Done.
diff --git a/src/lib389/lib389/dbgen.py b/src/lib389/lib389/dbgen.py
index a0cda94..447c697 100644
--- a/src/lib389/lib389/dbgen.py
+++ b/src/lib389/lib389/dbgen.py
@@ -143,6 +143,16 @@ objectClass: top
objectClass: organizationalUnit
ou: Payroll
+dn: ou=People,{SUFFIX}
+objectClass: top
+objectClass: organizationalUnit
+ou: People
+
+dn: ou=Groups,{SUFFIX}
+objectClass: top
+objectClass: organizationalUnit
+ou: Groups
+
"""
def dbgen(instance, number, ldif_file, suffix):
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.