From 19fde8ed0e794d33471056e2c07539cde70a8699 Mon Sep 17 00:00:00 2001 From: "John L. Villalovos" Date: Sun, 21 Feb 2021 10:11:22 -0800 Subject: [PATCH] fix: extend wait timeout for test_delete_user() Have been seeing intermittent failures of the test_delete_user() functional test. Have made the following changes to hopefully resolve the issue and if it still fails to know better why the failure occurred. * Extend the wait timeout for test_delete_user() from 30 to 60 tries of 0.5 seconds each. * Modify wait_for_sidekiq() to return True if sidekiq process terminated. Return False if the timeout expired. * Modify wait_for_sidekiq() to loop through all processes instead of assuming there is only one process. If all processes are not busy then return. * Modify wait_for_sidekiq() to sleep at least once before checking for processes being busy. * Check for True being returned in test_delete_user() call to wait_for_sidekiq() --- tools/functional/api/test_users.py | 3 ++- tools/functional/conftest.py | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/tools/functional/api/test_users.py b/tools/functional/api/test_users.py index 485829d14..044831a82 100644 --- a/tools/functional/api/test_users.py +++ b/tools/functional/api/test_users.py @@ -56,7 +56,8 @@ def test_delete_user(gl, wait_for_sidekiq): ) new_user.delete() - wait_for_sidekiq() + result = wait_for_sidekiq(timeout=60) + assert result == True, "sidekiq process should have terminated but did not" assert new_user.id not in [user.id for user in gl.users.list()] diff --git a/tools/functional/conftest.py b/tools/functional/conftest.py index a0b14f9c2..648fe5e51 100644 --- a/tools/functional/conftest.py +++ b/tools/functional/conftest.py @@ -89,9 +89,15 @@ def wait_for_sidekiq(gl): def _wait(timeout=30, step=0.5): for _ in range(timeout): - if not gl.sidekiq.process_metrics()["processes"][0]["busy"]: - return time.sleep(step) + busy = False + processes = gl.sidekiq.process_metrics()["processes"] + for process in processes: + if process["busy"]: + busy = True + if not busy: + return True + return False return _wait pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy