From 09ebf0962805c5ab2bbde5a6851e46049f9febfe Mon Sep 17 00:00:00 2001 From: kp-cat <52385411+kp-cat@users.noreply.github.com> Date: Tue, 18 Nov 2025 12:31:21 +0100 Subject: [PATCH 1/5] timing fix in test_fetch_call_count --- configcatclienttests/test_autopollingcachepolicy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configcatclienttests/test_autopollingcachepolicy.py b/configcatclienttests/test_autopollingcachepolicy.py index b6e0553..cb06d06 100644 --- a/configcatclienttests/test_autopollingcachepolicy.py +++ b/configcatclienttests/test_autopollingcachepolicy.py @@ -69,7 +69,7 @@ def test_fetch_call_count(self): cache_policy = ConfigService('', PollingMode.auto_poll(poll_interval_seconds=2, max_init_wait_time_seconds=1), Hooks(), config_fetcher, log, config_cache, False) - wait_tolerance = 0.1 + wait_tolerance = 0.2 time.sleep(3 + wait_tolerance) self.assertEqual(config_fetcher.get_call_count, 2) config, _ = cache_policy.get_config() From 746820a7bc3ed4910a2530f4b19b3be233fb0623 Mon Sep 17 00:00:00 2001 From: kp-cat <52385411+kp-cat@users.noreply.github.com> Date: Tue, 18 Nov 2025 12:37:25 +0100 Subject: [PATCH 2/5] timing fix in test_init_wait_time_timeout --- configcatclienttests/test_autopollingcachepolicy.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configcatclienttests/test_autopollingcachepolicy.py b/configcatclienttests/test_autopollingcachepolicy.py index cb06d06..8c7d8e3 100644 --- a/configcatclienttests/test_autopollingcachepolicy.py +++ b/configcatclienttests/test_autopollingcachepolicy.py @@ -59,7 +59,8 @@ def test_init_wait_time_timeout(self): end_time = time.time() elapsed_time = end_time - start_time self.assertEqual(config, None) - self.assertGreaterEqual(elapsed_time, 1) + wait_tolerance = 0.1 + self.assertGreaterEqual(elapsed_time, 1 - wait_tolerance) self.assertLess(elapsed_time, 2) cache_policy.close() From a18e5026c17707456b8966d63b39d3b1f3087ca0 Mon Sep 17 00:00:00 2001 From: kp-cat <52385411+kp-cat@users.noreply.github.com> Date: Tue, 18 Nov 2025 13:51:55 +0100 Subject: [PATCH 3/5] timing fix --- .../test_autopollingcachepolicy.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/configcatclienttests/test_autopollingcachepolicy.py b/configcatclienttests/test_autopollingcachepolicy.py index 8c7d8e3..d8f921a 100644 --- a/configcatclienttests/test_autopollingcachepolicy.py +++ b/configcatclienttests/test_autopollingcachepolicy.py @@ -70,7 +70,7 @@ def test_fetch_call_count(self): cache_policy = ConfigService('', PollingMode.auto_poll(poll_interval_seconds=2, max_init_wait_time_seconds=1), Hooks(), config_fetcher, log, config_cache, False) - wait_tolerance = 0.2 + wait_tolerance = 0.3 time.sleep(3 + wait_tolerance) self.assertEqual(config_fetcher.get_call_count, 2) config, _ = cache_policy.get_config() @@ -127,7 +127,8 @@ def test_rerun(self): cache_policy = ConfigService('', PollingMode.auto_poll(poll_interval_seconds=2, max_init_wait_time_seconds=5), Hooks(), config_fetcher, log, config_cache, False) - time.sleep(2.200) + wait_tolerance = 0.4 + time.sleep(2 + wait_tolerance) self.assertEqual(config_fetcher.get_call_count, 2) cache_policy.close() @@ -142,13 +143,14 @@ def test_callback(self): max_init_wait_time_seconds=5), hooks, config_fetcher, log, config_cache, False) time.sleep(1) + wait_tolerance = 0.3 self.assertEqual(config_fetcher.get_call_count, 1) self.assertEqual(hook_callbacks.changed_config_call_count, 1) - time.sleep(1.2) + time.sleep(1 + wait_tolerance) self.assertEqual(config_fetcher.get_call_count, 2) self.assertEqual(hook_callbacks.changed_config_call_count, 1) config_fetcher.set_configuration_json(TEST_JSON2) - time.sleep(2.2) + time.sleep(2 + wait_tolerance) self.assertEqual(config_fetcher.get_call_count, 3) self.assertEqual(hook_callbacks.changed_config_call_count, 2) cache_policy.close() @@ -163,14 +165,15 @@ def test_callback_exception(self): cache_policy = ConfigService('', PollingMode.auto_poll(poll_interval_seconds=2, max_init_wait_time_seconds=5), hooks, config_fetcher, log, config_cache, False) + wait_tolerance = 0.4 time.sleep(1) self.assertEqual(config_fetcher.get_call_count, 1) self.assertEqual(hook_callbacks.callback_exception_call_count, 1) - time.sleep(1.2) + time.sleep(1 + wait_tolerance) self.assertEqual(config_fetcher.get_call_count, 2) self.assertEqual(hook_callbacks.callback_exception_call_count, 1) config_fetcher.set_configuration_json(TEST_JSON2) - time.sleep(2.2) + time.sleep(2 + wait_tolerance) self.assertEqual(config_fetcher.get_call_count, 3) self.assertEqual(hook_callbacks.callback_exception_call_count, 2) cache_policy.close() @@ -233,7 +236,8 @@ def test_return_cached_config_when_cache_is_not_expired(self): self.assertEqual(config_fetcher.get_call_count, 0) self.assertEqual(config_fetcher.get_fetch_count, 0) - time.sleep(3) + wait_tolerance = 0.1 + time.sleep(3 + wait_tolerance) config, _ = cache_policy.get_config() settings = config.get(FEATURE_FLAGS) From d6db27c97b76a1193110ca976e5ee39713890f0b Mon Sep 17 00:00:00 2001 From: kp-cat <52385411+kp-cat@users.noreply.github.com> Date: Tue, 18 Nov 2025 16:40:04 +0100 Subject: [PATCH 4/5] ci fix --- .github/workflows/python-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index 37d9c09..2a2b2a0 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -47,6 +47,7 @@ jobs: - python-version: "3.7" os: macos-13 + steps: - uses: actions/checkout@v5 From b2f387983f1b69f4605934c79d10fa36e85dda78 Mon Sep 17 00:00:00 2001 From: kp-cat <52385411+kp-cat@users.noreply.github.com> Date: Tue, 9 Dec 2025 09:59:06 +0100 Subject: [PATCH 5/5] github CI: macos-13 -> macos-14 --- .github/workflows/python-ci.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index 2a2b2a0..e6a0e32 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -39,14 +39,6 @@ jobs: os: macos-latest - python-version: "3.7" os: macos-latest - include: # So run those legacy versions on Intel CPUs. - - python-version: "3.5" - os: macos-13 - - python-version: "3.6" - os: macos-13 - - python-version: "3.7" - os: macos-13 - steps: - uses: actions/checkout@v5