From 5d6217c6d1f9fbc0ec36639a4cac692116601505 Mon Sep 17 00:00:00 2001 From: Olivier 'reivilibre Date: Mon, 29 Jun 2026 19:06:31 +0100 Subject: [PATCH 1/2] Remove wall-clock dependency of `test_redact_messages_all_rooms` --- tests/rest/admin/test_user.py | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/tests/rest/admin/test_user.py b/tests/rest/admin/test_user.py index 72937df9a63..bce21b95fae 100644 --- a/tests/rest/admin/test_user.py +++ b/tests/rest/admin/test_user.py @@ -23,7 +23,6 @@ import hmac import json import os -import time import urllib.parse from binascii import unhexlify from http import HTTPStatus @@ -5788,21 +5787,19 @@ def test_redact_messages_all_rooms(self) -> None: self.assertEqual(channel.code, 200) id = channel.json_body.get("redact_id") - timeout_s = 10 - start_time = time.time() - redact_result = "" - while redact_result != "complete": - if start_time + timeout_s < time.time(): - self.fail("Timed out waiting for redactions.") + # Need 1 tick as we send 1 replication request per original event + # and each wait must be >= `_EPSILON` from `http/client.py` + for _ in range(len(original_event_ids)): + self.reactor.advance(0.001) - channel2 = self.make_request( - "GET", - f"/_synapse/admin/v1/user/redact_status/{id}", - access_token=self.admin_tok, - ) - redact_result = channel2.json_body["status"] - if redact_result == "failed": - self.fail("Redaction task failed.") + # Verify the HTTP `redact_status` endpoint reports completion. + channel2 = self.make_request( + "GET", + f"/_synapse/admin/v1/user/redact_status/{id}", + access_token=self.admin_tok, + ) + self.assertEqual(channel2.code, 200) + self.assertEqual(channel2.json_body["status"], "complete") redaction_ids = set() for rm in [self.rm1, self.rm2, self.rm3]: From 85ec5b4cd01cbc41cd20f91a5f1726422a87dce1 Mon Sep 17 00:00:00 2001 From: Olivier 'reivilibre Date: Mon, 29 Jun 2026 19:25:51 +0100 Subject: [PATCH 2/2] Newsfile Signed-off-by: Olivier 'reivilibre --- changelog.d/19890.misc | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/19890.misc diff --git a/changelog.d/19890.misc b/changelog.d/19890.misc new file mode 100644 index 00000000000..b74dbc3086c --- /dev/null +++ b/changelog.d/19890.misc @@ -0,0 +1 @@ +Remove wall-clock dependency of `test_redact_messages_all_rooms` test, as this caused flakiness. \ No newline at end of file