This is an automated email from the ASF dual-hosted git repository.

shahar1 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new f2fae8c737a Fix flaky test_trigger_log in triggerer job tests (#72919)
f2fae8c737a is described below

commit f2fae8c737a4478c66576b1a3868106fa023fecd
Author: PoAn Yang <[email protected]>
AuthorDate: Mon Sep 28 04:15:38 2026 +0800

    Fix flaky test_trigger_log in triggerer job tests (#72919)
    
    Signed-off-by: PoAn Yang <[email protected]>
---
 airflow-core/tests/unit/jobs/test_triggerer_job.py | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/airflow-core/tests/unit/jobs/test_triggerer_job.py 
b/airflow-core/tests/unit/jobs/test_triggerer_job.py
index 7b4a45e9ea7..3336bedd3b0 100644
--- a/airflow-core/tests/unit/jobs/test_triggerer_job.py
+++ b/airflow-core/tests/unit/jobs/test_triggerer_job.py
@@ -1237,18 +1237,24 @@ def test_trigger_log(mock_monotonic, trigger, 
watcher_count, trigger_count, sess
     Checks that the triggerer will log watcher and trigger in separate lines.
     """
     create_trigger_in_db(session, trigger)
+    trigger_line = f"{trigger_count} triggers currently running"
+    watcher_line = f"{watcher_count} watchers currently running"
 
     trigger_runner_supervisor = 
TriggerRunnerSupervisor.start(job=Job(id=123456), capacity=10)
-    trigger_runner_supervisor.load_triggers()
-
-    for _ in range(30):
-        trigger_runner_supervisor._service_subprocess(0.1)
+    try:
+        trigger_runner_supervisor.load_triggers()
 
-    stdout = capsys.readouterr().out
-    assert f"{trigger_count} triggers currently running" in stdout
-    assert f"{watcher_count} watchers currently running" in stdout
+        stdout = ""
+        for _ in range(300):
+            trigger_runner_supervisor._service_subprocess(0.1)
+            stdout += capsys.readouterr().out
+            if trigger_line in stdout and watcher_line in stdout:
+                break
+    finally:
+        trigger_runner_supervisor.kill(force=False)
 
-    trigger_runner_supervisor.kill(force=False)
+    assert trigger_line in stdout
+    assert watcher_line in stdout
 
 
 def test_trigger_logger_close():

Reply via email to