diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2017-08-29 11:07:18 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2017-09-04 16:34:32 +0200 |
commit | 4d1e380fea70e917cdfba560b899cca2f3e2ffd1 (patch) | |
tree | c8ee49f2053782f21d4dc3f202ac3c28cd519b82 | |
parent | 109ed7ca1a82420798efdc6a9b019675a5bd0f4f (diff) | |
download | sssd-4d1e380fea70e917cdfba560b899cca2f3e2ffd1.tar.gz sssd-4d1e380fea70e917cdfba560b899cca2f3e2ffd1.tar.xz sssd-4d1e380fea70e917cdfba560b899cca2f3e2ffd1.zip |
TESTS: Relax the assert in test_idle_timeout
Resolves:
https://pagure.io/SSSD/sssd/issue/3473
We're being quite strict in test_idle_timeout when checking for the
number of open fds which leads to spurious failures like:
=================================== FAILURES ===================================
______________________________ test_idle_timeout _______________________________
Traceback (most recent call last):
File "/var/lib/jenkins/workspace/ci/label/fedora23/src/tests/intg/test_secrets.py", line 427, in test_idle_timeout
assert nfds_pre + 1 == nfds_conn
AssertionError: assert (27 + 1) == 27
==================== 1 failed, 221 passed in 473.37 seconds ====================
This is just a check that "a" connection was opened, so we don't have to
check for exact match, but just for larger-or-equal.
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
-rw-r--r-- | src/tests/intg/test_secrets.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/tests/intg/test_secrets.py b/src/tests/intg/test_secrets.py index 15caa6958..a145045ee 100644 --- a/src/tests/intg/test_secrets.py +++ b/src/tests/intg/test_secrets.py @@ -360,9 +360,9 @@ def test_containers(setup_for_secrets, secrets_cli): assert str(err406.value).startswith("406") -def get_num_fds(pid): +def get_fds(pid): procpath = os.path.join("/proc/", str(pid), "fd") - return len([fdname for fdname in os.listdir(procpath)]) + return os.listdir(procpath) @pytest.fixture @@ -388,13 +388,14 @@ def test_idle_timeout(setup_for_cli_timeout_test): secpid = setup_for_cli_timeout_test sock_path = get_secrets_socket() - nfds_pre = get_num_fds(secpid) + nfds_pre = get_fds(secpid) sock = socket.socket(family=socket.AF_UNIX) sock.connect(sock_path) time.sleep(1) - nfds_conn = get_num_fds(secpid) - assert nfds_pre + 1 == nfds_conn + nfds_conn = get_fds(secpid) + if len(nfds_pre) + 1 < len(nfds_conn): + raise Exception("FD difference %s\n", set(nfds_pre) - set(nfds_conn)) # With the idle timeout set to 10 seconds, we need to sleep at least 15, # because the internal timer ticks every timeout/2 seconds, so it would # tick at 5, 10 and 15 seconds and the client timeout check uses a @@ -402,8 +403,9 @@ def test_idle_timeout(setup_for_cli_timeout_test): # disconnect time.sleep(15) - nfds_post = get_num_fds(secpid) - assert nfds_pre == nfds_post + nfds_post = get_fds(secpid) + if len(nfds_pre) != len(nfds_post): + raise Exception("FD difference %s\n", set(nfds_pre) - set(nfds_post)) def run_quota_test(cli, max_secrets, max_payload_size): |