See
<http://vm-166.abc.idm.lab.eng.brq.redhat.com:8080/job/NIGHTLY/107/display/redirect>
------------------------------------------
[...truncated 4664 lines...]
suites/replication/acceptance_test.py::test_modify_stripattrs PASSED
suites/replication/acceptance_test.py::test_new_suffix PASSED
suites/replication/acceptance_test.py::test_many_attrs PASSED
suites/replication/acceptance_test.py::test_double_delete PASSED
suites/replication/acceptance_test.py::test_password_repl_error PASSED
suites/replication/acceptance_test.py::test_invalid_agmt PASSED
suites/replication/changelog_test.py::test_verify_changelog PASSED
suites/replication/changelog_test.py::test_verify_changelog_online_backup PASSED
suites/replication/changelog_test.py::test_verify_changelog_offline_backup
PASSED
suites/replication/cleanallruv_test.py::test_clean PASSED
suites/replication/cleanallruv_test.py::test_clean_restart PASSED
suites/replication/cleanallruv_test.py::test_clean_force PASSED
suites/replication/cleanallruv_test.py::test_abort PASSED
suites/replication/cleanallruv_test.py::test_abort_restart PASSED
suites/replication/cleanallruv_test.py::test_abort_certify PASSED
suites/replication/cleanallruv_test.py::test_stress_clean PASSED
suites/replication/cleanallruv_test.py::test_multiple_tasks_with_force PASSED
suites/replication/ruvstore_test.py::test_ruv_entry_backup PASSED
suites/replication/ruvstore_test.py::test_memoryruv_sync_with_databaseruv PASSED
suites/replication/single_master_test.py::test_mail_attr_repl PASSED
suites/replication/single_master_test.py::test_lastupdate_attr_before_init
PASSED
suites/replication/tombstone_test.py::test_purge_success PASSED
suites/replication/wait_for_async_feature_test.py::test_not_int_value PASSED
suites/replication/wait_for_async_feature_test.py::test_multi_value PASSED
suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr0]
PASSED
suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr1]
PASSED
suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr2]
PASSED
suites/replication/wait_for_async_feature_test.py::test_value_check[waitfor_async_attr3]
PASSED
suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr0]
PASSED
suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr1]
PASSED
suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr2]
PASSED
suites/replication/wait_for_async_feature_test.py::test_behavior_with_value[waitfor_async_attr3]
PASSED
suites/schema/schema_reload_test.py::test_valid_schema PASSED
suites/schema/schema_reload_test.py::test_invalid_schema PASSED
suites/schema/test_eduperson.py::test_account_locking PASSED
suites/schema/test_schema.py::test_schema_comparewithfiles PASSED
suites/setup_ds/setup_ds_test.py::test_slapd_InstScriptsEnabled[true] PASSED
suites/setup_ds/setup_ds_test.py::test_slapd_InstScriptsEnabled[false] PASSED
=================================== FAILURES ===================================
______________________________ test_ticket48226_1 ______________________________
topology_m2 = <lib389.topologies.TopologyMain object at 0x7febd44a4250>
def test_ticket48226_1(topology_m2):
name = '\''test_entry'\''
dn = "cn=%s,%s" % (name, SUFFIX)
topology_m2.ms["master1"].add_s(Entry((dn, {'\''objectclass'\'': "top
person".split(),
'\''sn'\'': name,
'\''cn'\'': name})))
# First do an update that is replicated
mods = [(ldap.MOD_ADD, '\''description'\'', '\''5'\'')]
topology_m2.ms["master1"].modify_s(dn, mods)
nbtry = 0
while (nbtry <= 10):
try:
ent = topology_m2.ms["master2"].getEntry(dn, ldap.SCOPE_BASE,
"(objectclass=*)", ['\''description'\''])
if ent.hasAttr('\''description'\'') and
ent.getValue('\''description'\'') == '\''5'\'':
break
except ldap.NO_SUCH_OBJECT:
pass
nbtry = nbtry + 1
time.sleep(1)
assert nbtry <= 10
# Stop M2 so that it will not receive the next update
topology_m2.ms["master2"].stop(10)
# ADD a new value that is not replicated
mods = [(ldap.MOD_DELETE, '\''description'\'', '\''5'\'')]
topology_m2.ms["master1"].modify_s(dn, mods)
# Stop M1 so that it will keep del '\''5'\'' that is unknown from
master2
topology_m2.ms["master1"].stop(10)
# Get the sbin directory so we know where to replace '\''ns-slapd'\''
sbin_dir = topology_m2.ms["master2"].get_sbin_dir()
# Wrap valgrind in the try-finally block to make sure it is teared down
try:
if not topology_m2.ms["master2"].has_asan():
valgrind_enable(sbin_dir)
# start M2 to do the next updates
topology_m2.ms["master2"].start()
# ADD '\''description'\'' by '\''5'\''
mods = [(ldap.MOD_DELETE, '\''description'\'', '\''5'\'')]
topology_m2.ms["master2"].modify_s(dn, mods)
# DEL '\''description'\'' by '\''5'\''
mods = [(ldap.MOD_ADD, '\''description'\'', '\''5'\'')]
topology_m2.ms["master2"].modify_s(dn, mods)
# sleep of purge delay so that the next update will purge the CSN_7
time.sleep(6)
# ADD '\''description'\'' by '\''6'\'' that purge the state info
mods = [(ldap.MOD_ADD, '\''description'\'', '\''6'\'')]
topology_m2.ms["master2"].modify_s(dn, mods)
# Restart master1
# topology_m2.ms["master1"].start(30)
if not topology_m2.ms["master2"].has_asan():
results_file =
valgrind_get_results_file(topology_m2.ms["master2"])
# Stop master2
topology_m2.ms["master2"].stop(30)
# Check for leak
if not topology_m2.ms["master2"].has_asan():
> if valgrind_check_file(results_file, VALGRIND_LEAK_STR,
> '\''csnset_dup'\''):
<http://vm-166.abc.idm.lab.eng.brq.redhat.com:8080/job/NIGHTLY/ws/source/389-ds-base/dirsrvtests/tests/tickets/ticket48226_test.py>:111:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
results_file = '\''valgrind'\''
patterns = ('\'' blocks are definitely lost in loss record '\'',
'\''csnset_dup'\'')
found = False, pattern_count = 2, matched_count = 0
def valgrind_check_file(results_file, *patterns):
'\'''\'''\''
Check the valgrind results file for the all the patterns
@param result_file - valgrind results file (must be read after server is
stopped)
@param patterns - A plain text or regex pattern string args that should
be searched for
@return True/False - Return true if one if the patterns match a stack
trace
@raise IOError
'\'''\'''\''
# Verify results file
if not results_file:
assert False
# Check the result file fo the leak text
results_file = results_file.replace('\''\n'\'', '\'''\'')
found = False
pattern_count = len(patterns)
matched_count = 0
> vlog = open(results_file)
E IOError: [Errno 2] No such file or directory: '\''valgrind'\''
<http://vm-166.abc.idm.lab.eng.brq.redhat.com:8080/job/NIGHTLY/ws/source/lib389/lib389/utils.py>:362:
IOError
----------------------------- Captured stderr call -----------------------------
INFO:lib389.utils:Valgrind is already enabled.
INFO:lib389.utils:Valgrind is now disabled.
____________________ test_entry_has_no_restrictions[off-on] ____________________
topology_st = <lib389.topologies.TopologyMain object at 0x7febcb8c3ad0>
password_policy = None, test_user = None, inherit_value = '\''off'\''
checksyntax_value = '\''on'\''
@pytest.mark.parametrize('\''inherit_value,checksyntax_value'\'',
[('\''off'\'', '\''off'\''), ('\''on'\'',
'\''off'\''), ('\''off'\'', '\''on'\'')])
def test_entry_has_no_restrictions(topology_st, password_policy, test_user,
inherit_value, checksyntax_value):
"""Make sure an entry added to ou=people
has no password syntax restrictions when:
- '\''passwordCheckSyntax'\'' is '\''off'\'' for
'\''nsslapd-pwpolicy-inherit-global'\''
equaled '\''off'\'' and '\''on'\''
- '\''passwordCheckSyntax'\'' is '\''on'\'' for
'\''nsslapd-pwpolicy-inherit-global'\''
equaled '\''off'\''
:ID: 2f07ff40-76ca-45a9-a556-331c94084945
:feature: Password policy
:setup: Standalone instance, test user,
password policy entries for a subtree
:steps: 1. Bind as test user
2. Set '\''nsslapd-pwpolicy-inherit-global'\'' and
'\''passwordCheckSyntax'\'' accordingly:
a) '\''off'\'' and '\''off'\''
b) '\''on'\'' and '\''off'\''
c) '\''off'\'' and '\''on'\''
3. Try to add user with a short password
:expectedresults: No exception should occure
"""
log.info('\''Set {} to {}'\''.format(ATTR_INHERIT_GLOBAL,
inherit_value))
log.info('\''Set {} to {}'\''.format(ATTR_CHECK_SYNTAX,
checksyntax_value))
topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE,
ATTR_INHERIT_GLOBAL,
inherit_value)])
topology_st.standalone.modify_s(CONFIG_DN, [(ldap.MOD_REPLACE,
ATTR_CHECK_SYNTAX,
checksyntax_value)])
# Wait a second for cn=config to apply
time.sleep(1)
check_attr_val(topology_st, CONFIG_DN, ATTR_INHERIT_GLOBAL,
inherit_value)
check_attr_val(topology_st, CONFIG_DN, ATTR_CHECK_SYNTAX,
checksyntax_value)
log.info('\''Bind as test user'\'')
topology_st.standalone.simple_bind_s(BN, PASSWORD)
log.info('\''Make sure an entry added to ou=people has '\''
'\''no password syntax restrictions.'\'')
try:
topology_st.standalone.add_s(Entry((TEMP_USER_DN.format('\''0'\''),
{'\''objectclass'\'':
['\''top'\'',
'\''person'\'',
'\''organizationalPerson'\'',
'\''inetOrgPerson'\''],
'\''cn'\'':
TEMP_USER.format('\''0'\''),
'\''sn'\'':
TEMP_USER.format('\''0'\''),
'\''userPassword'\'':
'\''short'\''})))
except ldap.LDAPError as e:
log.fatal('\''Failed to add cn=test0 with userPassword: short: '\''
+
e.message['\''desc'\''])
raise e
finally:
log.info('\''Bind as DM user'\'')
topology_st.standalone.simple_bind_s(DN_DM, PASSWORD)
log.info('\''Remove {}'\''.format(TEMP_USER_DN.format('\''0'\'')))
try:
topology_st.standalone.delete_s(TEMP_USER_DN.format('\''0'\''))
except ldap.NO_SUCH_OBJECT as e:
log.fatal('\''There is no {}, it is a
problem'\''.format(TEMP_USER_DN.format('\''0'\'')))
> raise e
E NO_SUCH_OBJECT: {'\''matched'\'':
'\''ou=People,dc=example,dc=com'\'', '\''desc'\'': '\''No such object'\''}
<http://vm-166.abc.idm.lab.eng.brq.redhat.com:8080/job/NIGHTLY/ws/source/389-ds-base/dirsrvtests/tests/suites/password/pwdPolicy_inherit_global_test.py>:201:
NO_SUCH_OBJECT
----------------------------- Captured stderr call -----------------------------
INFO:dirsrvtests.tests.suites.password.pwdPolicy_inherit_global_test:Set
nsslapd-pwpolicy-inherit-global to off
INFO:dirsrvtests.tests.suites.password.pwdPolicy_inherit_global_test:Set
passwordCheckSyntax to on
INFO:dirsrvtests.tests.suites.password.pwdPolicy_inherit_global_test:Default
value of nsslapd-pwpolicy-inherit-global is off
INFO:dirsrvtests.tests.suites.password.pwdPolicy_inherit_global_test:Default
value of passwordCheckSyntax is on
INFO:dirsrvtests.tests.suites.password.pwdPolicy_inherit_global_test:Bind as
test user
INFO:dirsrvtests.tests.suites.password.pwdPolicy_inherit_global_test:Make sure
an entry added to ou=people has no password syntax restrictions.
CRITICAL:dirsrvtests.tests.suites.password.pwdPolicy_inherit_global_test:Failed
to add cn=test0 with userPassword: short: Constraint violation
INFO:dirsrvtests.tests.suites.password.pwdPolicy_inherit_global_test:Bind as DM
user
INFO:dirsrvtests.tests.suites.password.pwdPolicy_inherit_global_test:Remove
cn=test0,ou=People,dc=example,dc=com
CRITICAL:dirsrvtests.tests.suites.password.pwdPolicy_inherit_global_test:There
is no cn=test0,ou=People,dc=example,dc=com, it is a problem
============== 2 failed, 620 passed, 1 skipped in 9208.84 seconds
=============='
+ '[' 1 -ne 0 ']'
+ echo CI Tests 'FAILED!'
CI Tests FAILED!
+ MSG=FAILED
+ RC=1
+ sudo /usr/sbin/sendmail [email protected] [email protected]
+ sudo rm -rf /var/tmp/slapd.vg.47075 /var/tmp/slapd.vg.47188
/var/tmp/slapd.vg.64217
+ exit 1
Build step 'Execute shell' marked build as failure
[locks-and-latches] Releasing all the locks
[locks-and-latches] All the locks released
_______________________________________________
389-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]