From af016e6bab9833e95897bf47ff01efbff1c9512a Mon Sep 17 00:00:00 2001 From: PoAn Yang Date: Fri, 11 Sep 2026 22:52:25 +0900 Subject: [PATCH] Fix flaky test_trigger_log in triggerer job tests Signed-off-by: PoAn Yang --- .../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 730ac3bd2876d..fb7dee46d38ed 100644 --- a/airflow-core/tests/unit/jobs/test_triggerer_job.py +++ b/airflow-core/tests/unit/jobs/test_triggerer_job.py @@ -1183,18 +1183,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():