https://github.com/da-viper created 
https://github.com/llvm/llvm-project/pull/179689

We are waiting for both stopped event at once.
We may not get both events within the (0.25 seconds) time interval to fetch 
more events. Retry with the `DEFAULT TIMEOUT` if we got one of the event.

Increase the `EVENT_QUIET_PERIOD`'s value for ASAN mode

Fixes #179648

>From eead09b609a34337e3794ea57af7cd648a92efc6 Mon Sep 17 00:00:00 2001
From: Ebuka Ezike <[email protected]>
Date: Wed, 4 Feb 2026 14:26:15 +0000
Subject: [PATCH] [lldb-dap] Fix flaky TestDAP_stopped_events.py

We are waiting for both stopped event at once.
We may not get both within the (0.25 seconds) time interval to fetch more
events. Retry with the `DEFAULT TIMEOUT` if we got one of the event.

Increase the value `EVENT_QUIET_PERIOD` for ASAN mode
---
 .../Python/lldbsuite/test/tools/lldb-dap/dap_server.py       | 2 +-
 .../tools/lldb-dap/stopped-events/TestDAP_stopped_events.py  | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py 
b/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
index 32e37c502e358..8ce6608faa45c 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
@@ -44,7 +44,7 @@
 # A quiet period between events, used to determine if we're done receiving
 # events in a given window, otherwise 'wait_for_stopped' would need to wait
 # until the DEFAULT_TIMEOUT occurs, slows down tests significantly.
-EVENT_QUIET_PERIOD = 0.25
+EVENT_QUIET_PERIOD = 0.25 * (20.0 if ("ASAN_OPTIONS" in os.environ) else 1.0)
 
 
 # See lldbtest.Base.spawnSubprocess, which should help ensure any processes
diff --git 
a/lldb/test/API/tools/lldb-dap/stopped-events/TestDAP_stopped_events.py 
b/lldb/test/API/tools/lldb-dap/stopped-events/TestDAP_stopped_events.py
index 03dff39c82ed9..8b7f612c5f4a7 100644
--- a/lldb/test/API/tools/lldb-dap/stopped-events/TestDAP_stopped_events.py
+++ b/lldb/test/API/tools/lldb-dap/stopped-events/TestDAP_stopped_events.py
@@ -46,6 +46,11 @@ def test_multiple_threads_sample_breakpoint(self):
         [bp] = self.set_source_breakpoints("main.cpp", [line])
 
         events = self.continue_to_next_stop()
+        if len(events) == 1:
+            # we may not catch both events at the same time if we run with 
sanitizers
+            # enabled or on slow or heavily used computer.
+            events.extend(self.continue_to_next_stop())
+
         self.assertEqual(len(events), 2, "Expected exactly two 'stopped' 
events")
         for event in events:
             body = event["body"]

_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to