Author: David Spickett Date: 2023-07-17T08:11:15Z New Revision: fdf36c3d4b467a48b628c96cc7e34c2f4bf090da
URL: https://github.com/llvm/llvm-project/commit/fdf36c3d4b467a48b628c96cc7e34c2f4bf090da DIFF: https://github.com/llvm/llvm-project/commit/fdf36c3d4b467a48b628c96cc7e34c2f4bf090da.diff LOG: [lldb][AArch64] Fix flakiness in TestSVEThreadedDynamic This test runs to a breakpoint on thread 0. Thread 0 then starts thread 2 and 3, which both have breakpoints in them. In https://lab.llvm.org/buildbot/#/builders/96/builds/41674 I think that we managed to do the first check on thread 2 before thread 3 had started. Therefore "thread continue 3" failed. So wait for all three to startup before we check their status. I considered putting a timeout on the while like the wait_for... methods, but the test itself already has a global timeout. Plus, I'd rather not be tuning a timeout per piece of hardware this runs on. 99% of the time we will already have 3 threads when the check is done. Reviewed By: omjavaid Differential Revision: https://reviews.llvm.org/D154705 Added: Modified: lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py Removed: ################################################################################ diff --git a/lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py b/lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py index c10a2e0cc77b13..e0573ae47973e2 100644 --- a/lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py +++ b/lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py @@ -125,8 +125,6 @@ def test_sve_registers_dynamic_config(self): process = self.dbg.GetSelectedTarget().GetProcess() - thread1 = process.GetThreadAtIndex(0) - self.expect( "thread info 1", STOPPED_DUE_TO_BREAKPOINT, @@ -140,6 +138,10 @@ def test_sve_registers_dynamic_config(self): self.runCmd("process continue", RUN_SUCCEEDED) + # If we start the checks too quickly, thread 3 may not have started. + while (process.GetNumThreads() < 3): + pass + for idx in range(1, process.GetNumThreads()): thread = process.GetThreadAtIndex(idx) if thread.GetStopReason() != lldb.eStopReasonBreakpoint: _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits