URL: https://github.com/SSSD/sssd/pull/956 Author: pbrezina Title: #956: tests: fix race confition in enumeration tests Action: opened
PR body: """ Resubmitting Fabiano's PR since the tests kept failing for last two years with no reason. This needs to be fixed. --- INTG: Increase the sleep() time so the changes are reflected on SSSD Those tests have been failing a lot recently and it does happen becase the time to reflect the changes on SSSD is not enough for the machine where the tests are running. There's no reasonable explanation in the code why 4 seconds is used as INTERACTIVE_TIMEOUT, neither a reasonable explanation why 2 seconds is used as the time waited in order to have those changes reflected on SSSD (neither in the code nor in the commit messages). This patch uses the most simple empiric way to determine a better value for this timeout, which was "run the tests a considerable amount of time and check that there were no failures". So, in order to avoid failures and our tests giving us more reliable information, let's give more time so the changes are reflected on SSSD. Resolves: https://pagure.io/SSSD/sssd/issue/3463 """ To pull the PR as Git branch: git remote add ghsssd https://github.com/SSSD/sssd git fetch ghsssd pull/956/head:pr956 git checkout pr956
From 35dec0486d0afb592994d4ec375fab8644d36202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <[email protected]> Date: Wed, 9 Aug 2017 07:59:41 +0200 Subject: [PATCH] INTG: Increase the sleep() time so the changes are reflected on SSSD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Those tests have been failing a lot recently and it does happen becase the time to reflect the changes on SSSD is not enough for the machine where the tests are running. There's no reasonable explanation in the code why 4 seconds is used as INTERACTIVE_TIMEOUT, neither a reasonable explanation why 2 seconds is used as the time waited in order to have those changes reflected on SSSD (neither in the code nor in the commit messages). This patch uses the most simple empiric way to determine a better value for this timeout, which was "run the tests a considerable amount of time and check that there were no failures". So, in order to avoid failures and our tests giving us more reliable information, let's give more time so the changes are reflected on SSSD. Resolves: https://pagure.io/SSSD/sssd/issue/3463 Signed-off-by: Fabiano FidĂȘncio <[email protected]> --- src/tests/intg/test_enumeration.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/tests/intg/test_enumeration.py b/src/tests/intg/test_enumeration.py index c105c6df02..c25588a566 100644 --- a/src/tests/intg/test_enumeration.py +++ b/src/tests/intg/test_enumeration.py @@ -33,6 +33,15 @@ from util import * LDAP_BASE_DN = "dc=example,dc=com" + +# There is no explation neither in the code nor in the commit message that +# introduced this timeout why 4 was chosen as value. The very same happens +# with respect to why the time we should wait in order to have the changes +# reflected on SSSD is INTERACTIVE_TIMEOUT/2. +# Having INTERACTIVE_TIMEOUT/2 has been causing a lot of failures in some of +# our CI tests, so it's been changed to INTERACTIVE_TIMEOUT and the way it's +# been tested was just empirically by running or CI several times and checking +# whether a failure happened or not. INTERACTIVE_TIMEOUT = 4 @@ -412,7 +421,7 @@ def user_and_groups_rfc2307_bis(request, ldap_conn): def test_add_remove_user(ldap_conn, blank_rfc2307): """Test user addition and removal are reflected by SSSD""" e = ldap_ent.user(ldap_conn.ds_inst.base_dn, "user", 2001, 2000) - time.sleep(INTERACTIVE_TIMEOUT/2) + time.sleep(INTERACTIVE_TIMEOUT) # Add the user ent.assert_passwd(ent.contains_only()) ldap_conn.add_s(*e) @@ -427,7 +436,7 @@ def test_add_remove_user(ldap_conn, blank_rfc2307): def test_add_remove_group_rfc2307(ldap_conn, blank_rfc2307): """Test RFC2307 group addition and removal are reflected by SSSD""" e = ldap_ent.group(ldap_conn.ds_inst.base_dn, "group", 2001) - time.sleep(INTERACTIVE_TIMEOUT/2) + time.sleep(INTERACTIVE_TIMEOUT) # Add the group ent.assert_group(ent.contains_only()) ldap_conn.add_s(*e) @@ -442,7 +451,7 @@ def test_add_remove_group_rfc2307(ldap_conn, blank_rfc2307): def test_add_remove_group_rfc2307_bis(ldap_conn, blank_rfc2307_bis): """Test RFC2307bis group addition and removal are reflected by SSSD""" e = ldap_ent.group_bis(ldap_conn.ds_inst.base_dn, "group", 2001) - time.sleep(INTERACTIVE_TIMEOUT/2) + time.sleep(INTERACTIVE_TIMEOUT) # Add the group ent.assert_group(ent.contains_only()) ldap_conn.add_s(*e) @@ -456,7 +465,7 @@ def test_add_remove_group_rfc2307_bis(ldap_conn, blank_rfc2307_bis): def test_add_remove_membership_rfc2307(ldap_conn, user_and_group_rfc2307): """Test user membership addition and removal are reflected by SSSD""" - time.sleep(INTERACTIVE_TIMEOUT/2) + time.sleep(INTERACTIVE_TIMEOUT) # Add user to group ent.assert_group_by_name("group", dict(mem=ent.contains_only())) ldap_conn.modify_s("cn=group,ou=Groups," + ldap_conn.ds_inst.base_dn, @@ -478,7 +487,7 @@ def test_add_remove_membership_rfc2307_bis(ldap_conn, """ base_dn_bytes = ldap_conn.ds_inst.base_dn.encode('utf-8') - time.sleep(INTERACTIVE_TIMEOUT/2) + time.sleep(INTERACTIVE_TIMEOUT) # Add user to group1 ent.assert_group_by_name("group1", dict(mem=ent.contains_only())) ldap_conn.modify_s("cn=group1,ou=Groups," + ldap_conn.ds_inst.base_dn,
_______________________________________________ sssd-devel mailing list -- [email protected] To unsubscribe send an email to [email protected] Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/[email protected]
