[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-06-27 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96685

>From 1ca25a240cf459e16fb762f750e84260610c1077 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 13:42:20 -0700
Subject: [PATCH] Fix flake in TestZerothFrame.py

This test is relying on the order of `process.threads` which is
nondeterministic. By switching from `process.GetThreadAtIndex` to
`process.GetThreadByIndex` we consistently retrieve the correct thread.

Adds a helper function to find thread executing a file
---
 .../unwind/zeroth_frame/TestZerothFrame.py| 20 ---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git 
a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py 
b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
index f4e883d314644..892522f5cc63e 100644
--- a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
+++ b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
@@ -28,6 +28,12 @@
 
 
 class ZerothFrame(TestBase):
+def _is_thread_executing_file(self, thread, file_basename):
+frame = thread.GetSelectedFrame()
+module = frame.GetModule()
+filename = module.GetFileSpec().GetFilename()
+return os.path.basename(filename) == file_basename
+
 def test(self):
 """
 Test that line information is recalculated properly for a frame when 
it moves
@@ -53,14 +59,23 @@ def test(self):
 process = target.LaunchSimple(None, None, 
self.get_process_working_directory())
 self.assertTrue(process, VALID_PROCESS)
 
-thread = process.GetThreadAtIndex(0)
+# Find the thread that is running a.out.
+thread = None
+for i in range(len(process.thread)):
+if self._is_thread_executing_file(process.thread[i], "a.out"):
+thread = process.thread[i]
+break
+
+self.assertTrue(thread != None, "failed to find thread executing 
a.out")
+
 if self.TraceOn():
 print("Backtrace at the first breakpoint:")
 for f in thread.frames:
 print(f)
+
 # Check that we have stopped at correct breakpoint.
 self.assertEqual(
-process.GetThreadAtIndex(0).frame[0].GetLineEntry().GetLine(),
+thread.frame[0].GetLineEntry().GetLine(),
 bp1_line,
 "LLDB reported incorrect line number.",
 )
@@ -70,7 +85,6 @@ def test(self):
 # 'continue' command.
 process.Continue()
 
-thread = process.GetThreadAtIndex(0)
 if self.TraceOn():
 print("Backtrace at the second breakpoint:")
 for f in thread.frames:

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-06-27 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96685

>From 836b5ee62a5e1e31fe973e1f4ff6cd47f10eca84 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 13:42:20 -0700
Subject: [PATCH] Fix flake in TestZerothFrame.py

This test is relying on the order of `process.threads` which is
nondeterministic. By selecting the thread based on whether it is
stopped at our breakpoint we can reliably select the correct one.
---
 .../unwind/zeroth_frame/TestZerothFrame.py| 32 +++
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git 
a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py 
b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
index f4e883d314644..d6a1be8052995 100644
--- a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
+++ b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
@@ -28,6 +28,12 @@
 
 
 class ZerothFrame(TestBase):
+def _is_thread_executing_file(self, thread, file_basename):
+frame = thread.GetSelectedFrame()
+module = frame.GetModule()
+filename = module.GetFileSpec().GetFilename()
+return os.path.basename(filename) == file_basename
+
 def test(self):
 """
 Test that line information is recalculated properly for a frame when 
it moves
@@ -40,28 +46,27 @@ def test(self):
 target = self.dbg.CreateTarget(exe)
 self.assertTrue(target, VALID_TARGET)
 
-bp1_line = line_number("main.c", "// Set breakpoint 1 here")
-bp2_line = line_number("main.c", "// Set breakpoint 2 here")
-
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp1_line, num_expected_locations=1
-)
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp2_line, num_expected_locations=1
-)
+main_dot_c = lldb.SBFileSpec("main.c")
+bp1 = target.BreakpointCreateBySourceRegex("// Set breakpoint 1 here", 
main_dot_c)
+bp2 = target.BreakpointCreateBySourceRegex("// Set breakpoint 2 here", 
main_dot_c)
 
 process = target.LaunchSimple(None, None, 
self.get_process_working_directory())
 self.assertTrue(process, VALID_PROCESS)
 
-thread = process.GetThreadAtIndex(0)
+# Get the thread executing a.out.
+threads = lldbutil.get_threads_stopped_at_breakpoint(process, bp1)
+self.assertEqual(len(threads), 1)
+thread = threads[0]
+
 if self.TraceOn():
 print("Backtrace at the first breakpoint:")
 for f in thread.frames:
 print(f)
+
 # Check that we have stopped at correct breakpoint.
 self.assertEqual(
-process.GetThreadAtIndex(0).frame[0].GetLineEntry().GetLine(),
-bp1_line,
+thread.frame[0].GetLineEntry().GetLine(),
+bp1.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 
@@ -70,7 +75,6 @@ def test(self):
 # 'continue' command.
 process.Continue()
 
-thread = process.GetThreadAtIndex(0)
 if self.TraceOn():
 print("Backtrace at the second breakpoint:")
 for f in thread.frames:
@@ -78,7 +82,7 @@ def test(self):
 # Check that we have stopped at the breakpoint
 self.assertEqual(
 thread.frame[0].GetLineEntry().GetLine(),
-bp2_line,
+bp2.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 # Double-check with GetPCAddress()

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-06-27 Thread Kendal Harland via lldb-commits

kendalharland wrote:

> The thread that you care about is stopped at a breakpoint, right? If so, then 
> you can use the lldbutil.get_threads_stopped_at_breakpoint utility to find 
> it...

Thanks, this eventually led to me what I think is the most obvious solution: We 
can just set the breakpoints in this test while holding onto to the 
`SBBreakpoint` objects, and then fetch the associated thread from those 
breakpoints later, and compare the thread's frames' currently line numbers.

Thanks @JDevlieghere and @bulbazord for the additional suggestions!

https://github.com/llvm/llvm-project/pull/96685
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-06-27 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96685

>From abc87f3cbadc47f7f0bfaf01fcdf7f7c6d4bfeb5 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 13:42:20 -0700
Subject: [PATCH] Fix flake in TestZerothFrame.py

This test is relying on the order of `process.threads` which is
nondeterministic. By selecting the thread based on whether it is
stopped at our breakpoint we can reliably select the correct one.
---
 .../unwind/zeroth_frame/TestZerothFrame.py| 26 +--
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git 
a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py 
b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
index f4e883d314644..7ccd85e5b1044 100644
--- a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
+++ b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
@@ -40,28 +40,27 @@ def test(self):
 target = self.dbg.CreateTarget(exe)
 self.assertTrue(target, VALID_TARGET)
 
-bp1_line = line_number("main.c", "// Set breakpoint 1 here")
-bp2_line = line_number("main.c", "// Set breakpoint 2 here")
-
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp1_line, num_expected_locations=1
-)
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp2_line, num_expected_locations=1
-)
+main_dot_c = lldb.SBFileSpec("main.c")
+bp1 = target.BreakpointCreateBySourceRegex("// Set breakpoint 1 here", 
main_dot_c)
+bp2 = target.BreakpointCreateBySourceRegex("// Set breakpoint 2 here", 
main_dot_c)
 
 process = target.LaunchSimple(None, None, 
self.get_process_working_directory())
 self.assertTrue(process, VALID_PROCESS)
 
-thread = process.GetThreadAtIndex(0)
+# Get the thread executing a.out.
+threads = lldbutil.get_threads_stopped_at_breakpoint(process, bp1)
+self.assertEqual(len(threads), 1)
+thread = threads[0]
+
 if self.TraceOn():
 print("Backtrace at the first breakpoint:")
 for f in thread.frames:
 print(f)
+
 # Check that we have stopped at correct breakpoint.
 self.assertEqual(
-process.GetThreadAtIndex(0).frame[0].GetLineEntry().GetLine(),
-bp1_line,
+thread.frame[0].GetLineEntry().GetLine(),
+bp1.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 
@@ -70,7 +69,6 @@ def test(self):
 # 'continue' command.
 process.Continue()
 
-thread = process.GetThreadAtIndex(0)
 if self.TraceOn():
 print("Backtrace at the second breakpoint:")
 for f in thread.frames:
@@ -78,7 +76,7 @@ def test(self):
 # Check that we have stopped at the breakpoint
 self.assertEqual(
 thread.frame[0].GetLineEntry().GetLine(),
-bp2_line,
+bp2.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 # Double-check with GetPCAddress()

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-06-27 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/96685
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-06-27 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/96685
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-06-27 Thread Kendal Harland via lldb-commits

kendalharland wrote:

> I'm not sure if these names come from the demangler or debug info, but 
> windows has different implementations for both, so it not surprising they're 
> different. Assuming we don't care about the precise formatting of the names, 
> we could just check whether the name of the function is in the string (and 
> change the name to something more unique): assertIn("my_first_step_target", 
> step_in_targets[0]["label"])

Sorry for the late follow up, I got pulled into fixing something else. I think 
this is a simple enough solution. I'll reupload and reping for review.

https://github.com/llvm/llvm-project/pull/96687
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-06-28 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96685

>From 1d2c11e18e833104279fa6a005e4a64bb7be6216 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 13:42:20 -0700
Subject: [PATCH] Fix flake in TestZerothFrame.py

This test is relying on the order of `process.threads` which is
nondeterministic. By selecting the thread based on whether it is
stopped at our breakpoint we can reliably select the correct one.
---
 .../unwind/zeroth_frame/TestZerothFrame.py| 23 ---
 1 file changed, 9 insertions(+), 14 deletions(-)

diff --git 
a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py 
b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
index f4e883d314644..deb30669cc40e 100644
--- a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
+++ b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
@@ -40,28 +40,24 @@ def test(self):
 target = self.dbg.CreateTarget(exe)
 self.assertTrue(target, VALID_TARGET)
 
-bp1_line = line_number("main.c", "// Set breakpoint 1 here")
-bp2_line = line_number("main.c", "// Set breakpoint 2 here")
-
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp1_line, num_expected_locations=1
-)
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp2_line, num_expected_locations=1
-)
+main_dot_c = lldb.SBFileSpec("main.c")
+bp1 = target.BreakpointCreateBySourceRegex("// Set breakpoint 1 here", 
main_dot_c)
+bp2 = target.BreakpointCreateBySourceRegex("// Set breakpoint 2 here", 
main_dot_c)
 
 process = target.LaunchSimple(None, None, 
self.get_process_working_directory())
 self.assertTrue(process, VALID_PROCESS)
 
-thread = process.GetThreadAtIndex(0)
+thread = self.thread()
+
 if self.TraceOn():
 print("Backtrace at the first breakpoint:")
 for f in thread.frames:
 print(f)
+
 # Check that we have stopped at correct breakpoint.
 self.assertEqual(
-process.GetThreadAtIndex(0).frame[0].GetLineEntry().GetLine(),
-bp1_line,
+thread.frame[0].GetLineEntry().GetLine(),
+bp1.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 
@@ -70,7 +66,6 @@ def test(self):
 # 'continue' command.
 process.Continue()
 
-thread = process.GetThreadAtIndex(0)
 if self.TraceOn():
 print("Backtrace at the second breakpoint:")
 for f in thread.frames:
@@ -78,7 +73,7 @@ def test(self):
 # Check that we have stopped at the breakpoint
 self.assertEqual(
 thread.frame[0].GetLineEntry().GetLine(),
-bp2_line,
+bp2.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 # Double-check with GetPCAddress()

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-06-28 Thread Kendal Harland via lldb-commits

kendalharland wrote:

> This should be fine, although looking at the test case again, I think that 
> even simply replacing process.GetThreadAtIndex(0) with self.thread() should 
> be enough. self.thread() returns the "selected" thread and lldb should always 
> be selecting the thread which has stopped "for a reason" (e.g. a breakpoint) 
> and not a random (or first) thread in the process.

This also works. Agreed it's much better. Ty for the suggestion! Updated.

https://github.com/llvm/llvm-project/pull/96685
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-06-28 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/96685
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-07-01 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96685

>From 1d2c11e18e833104279fa6a005e4a64bb7be6216 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 13:42:20 -0700
Subject: [PATCH] Fix flake in TestZerothFrame.py

This test is relying on the order of `process.threads` which is
nondeterministic. By selecting the thread based on whether it is
stopped at our breakpoint we can reliably select the correct one.
---
 .../unwind/zeroth_frame/TestZerothFrame.py| 23 ---
 1 file changed, 9 insertions(+), 14 deletions(-)

diff --git 
a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py 
b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
index f4e883d314644..deb30669cc40e 100644
--- a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
+++ b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
@@ -40,28 +40,24 @@ def test(self):
 target = self.dbg.CreateTarget(exe)
 self.assertTrue(target, VALID_TARGET)
 
-bp1_line = line_number("main.c", "// Set breakpoint 1 here")
-bp2_line = line_number("main.c", "// Set breakpoint 2 here")
-
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp1_line, num_expected_locations=1
-)
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp2_line, num_expected_locations=1
-)
+main_dot_c = lldb.SBFileSpec("main.c")
+bp1 = target.BreakpointCreateBySourceRegex("// Set breakpoint 1 here", 
main_dot_c)
+bp2 = target.BreakpointCreateBySourceRegex("// Set breakpoint 2 here", 
main_dot_c)
 
 process = target.LaunchSimple(None, None, 
self.get_process_working_directory())
 self.assertTrue(process, VALID_PROCESS)
 
-thread = process.GetThreadAtIndex(0)
+thread = self.thread()
+
 if self.TraceOn():
 print("Backtrace at the first breakpoint:")
 for f in thread.frames:
 print(f)
+
 # Check that we have stopped at correct breakpoint.
 self.assertEqual(
-process.GetThreadAtIndex(0).frame[0].GetLineEntry().GetLine(),
-bp1_line,
+thread.frame[0].GetLineEntry().GetLine(),
+bp1.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 
@@ -70,7 +66,6 @@ def test(self):
 # 'continue' command.
 process.Continue()
 
-thread = process.GetThreadAtIndex(0)
 if self.TraceOn():
 print("Backtrace at the second breakpoint:")
 for f in thread.frames:
@@ -78,7 +73,7 @@ def test(self):
 # Check that we have stopped at the breakpoint
 self.assertEqual(
 thread.frame[0].GetLineEntry().GetLine(),
-bp2_line,
+bp2.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 # Double-check with GetPCAddress()

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-07-01 Thread Kendal Harland via lldb-commits

kendalharland wrote:

> Looks good. Are you able to merge this on your own?

Nope, I'll need someone with write access to do it.

https://github.com/llvm/llvm-project/pull/96685
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Disable TestUseSourceCache on Windows (PR #97324)

2024-07-01 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland created 
https://github.com/llvm/llvm-project/pull/97324

This test also fails on Windows amd64, although it is only disabled for aarch64.

>From 1d2c11e18e833104279fa6a005e4a64bb7be6216 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 13:42:20 -0700
Subject: [PATCH 1/2] Fix flake in TestZerothFrame.py

This test is relying on the order of `process.threads` which is
nondeterministic. By selecting the thread based on whether it is
stopped at our breakpoint we can reliably select the correct one.
---
 .../unwind/zeroth_frame/TestZerothFrame.py| 23 ---
 1 file changed, 9 insertions(+), 14 deletions(-)

diff --git 
a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py 
b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
index f4e883d314644..deb30669cc40e 100644
--- a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
+++ b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
@@ -40,28 +40,24 @@ def test(self):
 target = self.dbg.CreateTarget(exe)
 self.assertTrue(target, VALID_TARGET)
 
-bp1_line = line_number("main.c", "// Set breakpoint 1 here")
-bp2_line = line_number("main.c", "// Set breakpoint 2 here")
-
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp1_line, num_expected_locations=1
-)
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp2_line, num_expected_locations=1
-)
+main_dot_c = lldb.SBFileSpec("main.c")
+bp1 = target.BreakpointCreateBySourceRegex("// Set breakpoint 1 here", 
main_dot_c)
+bp2 = target.BreakpointCreateBySourceRegex("// Set breakpoint 2 here", 
main_dot_c)
 
 process = target.LaunchSimple(None, None, 
self.get_process_working_directory())
 self.assertTrue(process, VALID_PROCESS)
 
-thread = process.GetThreadAtIndex(0)
+thread = self.thread()
+
 if self.TraceOn():
 print("Backtrace at the first breakpoint:")
 for f in thread.frames:
 print(f)
+
 # Check that we have stopped at correct breakpoint.
 self.assertEqual(
-process.GetThreadAtIndex(0).frame[0].GetLineEntry().GetLine(),
-bp1_line,
+thread.frame[0].GetLineEntry().GetLine(),
+bp1.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 
@@ -70,7 +66,6 @@ def test(self):
 # 'continue' command.
 process.Continue()
 
-thread = process.GetThreadAtIndex(0)
 if self.TraceOn():
 print("Backtrace at the second breakpoint:")
 for f in thread.frames:
@@ -78,7 +73,7 @@ def test(self):
 # Check that we have stopped at the breakpoint
 self.assertEqual(
 thread.frame[0].GetLineEntry().GetLine(),
-bp2_line,
+bp2.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 # Double-check with GetPCAddress()

>From e0c2a42a215948a9f77524cc101e76d7c0eddb56 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 1 Jul 2024 10:20:08 -0700
Subject: [PATCH 2/2] Disable TestUseSourceCache on Windows amd64

This test also fails on Windows amd64, although it is only
disabled for aarch64.
---
 .../commands/settings/use_source_cache/TestUseSourceCache.py| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py 
b/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py
index c54345af4994c..421599080a9e5 100644
--- a/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py
+++ b/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py
@@ -18,7 +18,7 @@ def test_set_use_source_cache_false(self):
 self.set_use_source_cache_and_test(False)
 
 @skipIf(hostoslist=no_match(["windows"]))
-@skipIf(oslist=["windows"], archs=["aarch64"])  # Fails on windows 11
+@skipIf(oslist=["windows"])  # Fails on windows 11
 def test_set_use_source_cache_true(self):
 """Test that after 'set use-source-cache false', files are locked."""
 self.set_use_source_cache_and_test(True)

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Disable TestUseSourceCache on Windows (PR #97324)

2024-07-01 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/97324

>From 68c7fe6a0bf4a2385587a563c06892cd7b4eaea8 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 1 Jul 2024 10:20:08 -0700
Subject: [PATCH] Disable TestUseSourceCache on Windows amd64

This test also fails on Windows amd64, although it is only
disabled for aarch64.
---
 .../commands/settings/use_source_cache/TestUseSourceCache.py| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py 
b/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py
index c54345af4994c..421599080a9e5 100644
--- a/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py
+++ b/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py
@@ -18,7 +18,7 @@ def test_set_use_source_cache_false(self):
 self.set_use_source_cache_and_test(False)
 
 @skipIf(hostoslist=no_match(["windows"]))
-@skipIf(oslist=["windows"], archs=["aarch64"])  # Fails on windows 11
+@skipIf(oslist=["windows"])  # Fails on windows 11
 def test_set_use_source_cache_true(self):
 """Test that after 'set use-source-cache false', files are locked."""
 self.set_use_source_cache_and_test(True)

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix type error when calling random.randrange with 'float' arg (PR #97328)

2024-07-01 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland created 
https://github.com/llvm/llvm-project/pull/97328

This test only runs on Windows and fails because we're passing a literal of the 
wrong type to random.randrange.

>From 68c7fe6a0bf4a2385587a563c06892cd7b4eaea8 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 1 Jul 2024 10:20:08 -0700
Subject: [PATCH 1/2] Disable TestUseSourceCache on Windows amd64

This test also fails on Windows amd64, although it is only
disabled for aarch64.
---
 .../commands/settings/use_source_cache/TestUseSourceCache.py| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py 
b/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py
index c54345af4994c..421599080a9e5 100644
--- a/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py
+++ b/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py
@@ -18,7 +18,7 @@ def test_set_use_source_cache_false(self):
 self.set_use_source_cache_and_test(False)
 
 @skipIf(hostoslist=no_match(["windows"]))
-@skipIf(oslist=["windows"], archs=["aarch64"])  # Fails on windows 11
+@skipIf(oslist=["windows"])  # Fails on windows 11
 def test_set_use_source_cache_true(self):
 """Test that after 'set use-source-cache false', files are locked."""
 self.set_use_source_cache_and_test(True)

>From b8830b5c963e2b59d7265bc84473c5973ac1258f Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 1 Jul 2024 10:33:51 -0700
Subject: [PATCH 2/2] Fix type error when calling random.randrange with 'float'
 arg

---
 .../tools/lldb-server/commandline/TestGdbRemoteConnection.py| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py 
b/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py
index 853b7ad5ef290..f31a57b767c72 100644
--- a/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py
+++ b/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py
@@ -75,7 +75,7 @@ def __init__(self):
 class Pipe(object):
 def __init__(self, prefix):
 while True:
-self.name = "lldb-" + str(random.randrange(1e10))
+self.name = "lldb-" + str(random.randrange(int(1e10)))
 full_name = ".\\pipe\\" + self.name
 self._handle = CreateNamedPipe(
 full_name,

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix type error when calling random.randrange with 'float' arg (PR #97328)

2024-07-01 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/97328

>From 108865deb28016f6ebe7c507e082e0998a4d4839 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 1 Jul 2024 10:33:51 -0700
Subject: [PATCH] Fix type error when calling random.randrange with 'float' arg

---
 .../tools/lldb-server/commandline/TestGdbRemoteConnection.py| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py 
b/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py
index 853b7ad5ef290..f31a57b767c72 100644
--- a/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py
+++ b/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py
@@ -75,7 +75,7 @@ def __init__(self):
 class Pipe(object):
 def __init__(self, prefix):
 while True:
-self.name = "lldb-" + str(random.randrange(1e10))
+self.name = "lldb-" + str(random.randrange(int(1e10)))
 full_name = ".\\pipe\\" + self.name
 self._handle = CreateNamedPipe(
 full_name,

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-01 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96687

>From 58adc302fe08220f60513599f8a9ff6a72ce49ac Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 14:01:31 -0700
Subject: [PATCH] Fix test assertions in TestDAP_stepInTargets.py

---
 .../lldb-dap/stepInTargets/TestDAP_stepInTargets.py  | 12 +---
 lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp  |  6 +++---
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git 
a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py 
b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
index 6296f6554d07e..5deb054f0915a 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
@@ -55,14 +55,12 @@ def test_basic(self):
 self.assertEqual(len(step_in_targets), 3, "expect 3 step in targets")
 
 # Verify the target names are correct.
-self.assertEqual(step_in_targets[0]["label"], "bar()", "expect bar()")
-self.assertEqual(step_in_targets[1]["label"], "bar2()", "expect 
bar2()")
-self.assertEqual(
-step_in_targets[2]["label"], "foo(int, int)", "expect foo(int, 
int)"
-)
+self.assertIn("funcB", step_in_targets[0]["label"], "expect funcB")
+self.assertIn("funcA", step_in_targets[1]["label"], "expect funcA")
+self.assertIn("foo", step_in_targets[2]["label"], "expect foo")
 
-# Choose to step into second target and verify that we are in bar2()
+# Choose to step into second target and verify that we are in funcB()
 self.stepIn(threadId=tid, targetId=step_in_targets[1]["id"], 
waitForStop=True)
 leaf_frame = self.dap_server.get_stackFrame()
 self.assertIsNotNone(leaf_frame, "expect a leaf frame")
-self.assertEqual(leaf_frame["name"], "bar2()")
+self.assertIn("funcB", leaf_frame["name"], "expect funcB")
diff --git a/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp 
b/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
index d3c3dbcc139ef..a48b79af0c760 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
@@ -1,11 +1,11 @@
 
 int foo(int val, int extra) { return val + extra; }
 
-int bar() { return 22; }
+int funcA() { return 22; }
 
-int bar2() { return 54; }
+int funcB() { return 54; }
 
 int main(int argc, char const *argv[]) {
-  foo(bar(), bar2()); // set breakpoint here
+  foo(funcA(), funcB()); // set breakpoint here
   return 0;
 }

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-01 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/96687
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-01 Thread Kendal Harland via lldb-commits

kendalharland wrote:

> > I'm not sure if these names come from the demangler or debug info, but 
> > windows has different implementations for both, so it not surprising 
> > they're different. Assuming we don't care about the precise formatting of 
> > the names, we could just check whether the name of the function is in the 
> > string (and change the name to something more unique): 
> > assertIn("my_first_step_target", step_in_targets[0]["label"])
> 
> Sorry for the late follow up, I got pulled into fixing something else. I 
> think this is a simple enough solution. I'll reupload and re-ping for review.

Updated in the latest commit.

https://github.com/llvm/llvm-project/pull/96687
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix type error when calling random.randrange with 'float' arg (PR #97328)

2024-07-01 Thread Kendal Harland via lldb-commits


@@ -75,7 +75,7 @@ def __init__(self):
 class Pipe(object):
 def __init__(self, prefix):
 while True:
-self.name = "lldb-" + str(random.randrange(1e10))
+self.name = "lldb-" + str(random.randrange(int(1e10)))

kendalharland wrote:

I would prefer to leave it as the original author wrote it if that's alright. 
I'm assuming they found the shorthand more readable

https://github.com/llvm/llvm-project/pull/97328
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-07-01 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96685

>From e3d44a2fed3d4129e245d5695c3af0c21bb7b329 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 13:42:20 -0700
Subject: [PATCH] Fix flake in TestZerothFrame.py

This test is relying on the order of `process.threads` which is
nondeterministic. By selecting the thread based on whether it is
stopped at our breakpoint we can reliably select the correct one.
---
 .../unwind/zeroth_frame/TestZerothFrame.py| 23 ---
 1 file changed, 9 insertions(+), 14 deletions(-)

diff --git 
a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py 
b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
index f4e883d314644..deb30669cc40e 100644
--- a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
+++ b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
@@ -40,28 +40,24 @@ def test(self):
 target = self.dbg.CreateTarget(exe)
 self.assertTrue(target, VALID_TARGET)
 
-bp1_line = line_number("main.c", "// Set breakpoint 1 here")
-bp2_line = line_number("main.c", "// Set breakpoint 2 here")
-
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp1_line, num_expected_locations=1
-)
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp2_line, num_expected_locations=1
-)
+main_dot_c = lldb.SBFileSpec("main.c")
+bp1 = target.BreakpointCreateBySourceRegex("// Set breakpoint 1 here", 
main_dot_c)
+bp2 = target.BreakpointCreateBySourceRegex("// Set breakpoint 2 here", 
main_dot_c)
 
 process = target.LaunchSimple(None, None, 
self.get_process_working_directory())
 self.assertTrue(process, VALID_PROCESS)
 
-thread = process.GetThreadAtIndex(0)
+thread = self.thread()
+
 if self.TraceOn():
 print("Backtrace at the first breakpoint:")
 for f in thread.frames:
 print(f)
+
 # Check that we have stopped at correct breakpoint.
 self.assertEqual(
-process.GetThreadAtIndex(0).frame[0].GetLineEntry().GetLine(),
-bp1_line,
+thread.frame[0].GetLineEntry().GetLine(),
+bp1.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 
@@ -70,7 +66,6 @@ def test(self):
 # 'continue' command.
 process.Continue()
 
-thread = process.GetThreadAtIndex(0)
 if self.TraceOn():
 print("Backtrace at the second breakpoint:")
 for f in thread.frames:
@@ -78,7 +73,7 @@ def test(self):
 # Check that we have stopped at the breakpoint
 self.assertEqual(
 thread.frame[0].GetLineEntry().GetLine(),
-bp2_line,
+bp2.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 # Double-check with GetPCAddress()

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-02 Thread Kendal Harland via lldb-commits

kendalharland wrote:

> Sorry, was in the middle of review then got interrupted/distracted by other 
> stuff yesterday.
> 
> Looks good.

No problem at all. Thanks for the reviews! I'll look into the build failures.

https://github.com/llvm/llvm-project/pull/96687
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-07-02 Thread Kendal Harland via lldb-commits

kendalharland wrote:

Sure thing, I hadn't hooked up the formatter yet so I'll run it and reupload. 
Thanks for the reviews! 

https://github.com/llvm/llvm-project/pull/96685
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test] Fix type error when calling random.randrange with 'float' arg (PR #97328)

2024-07-03 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/97328

>From 9bb6749f1dfa57343f4e546406576fec2c7afcc5 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 1 Jul 2024 10:33:51 -0700
Subject: [PATCH] Fix type error when calling random.randrange with 'float' arg

---
 .../tools/lldb-server/commandline/TestGdbRemoteConnection.py| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py 
b/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py
index 853b7ad5ef290..6f10aee3d48b5 100644
--- a/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py
+++ b/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py
@@ -75,7 +75,7 @@ def __init__(self):
 class Pipe(object):
 def __init__(self, prefix):
 while True:
-self.name = "lldb-" + str(random.randrange(1e10))
+self.name = "lldb-" + str(random.randrange(10**10))
 full_name = ".\\pipe\\" + self.name
 self._handle = CreateNamedPipe(
 full_name,

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test] Fix type error when calling random.randrange with 'float' arg (PR #97328)

2024-07-03 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/97328

>From a3c524bebfc976f3dfee5b67dac490ed44705d6a Mon Sep 17 00:00:00 2001
From: kendal 
Date: Wed, 3 Jul 2024 11:18:43 -0700
Subject: [PATCH] Fix type error when calling random.randrange with 'float' arg

---
 .../lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py 
b/lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
index 5bd352d3ac549..94376a16d39f6 100644
--- 
a/lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
+++ 
b/lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
@@ -1042,7 +1042,7 @@ def __init__(self):
 class Pipe(object):
 def __init__(self, prefix):
 while True:
-self.name = "lldb-" + str(random.randrange(1e10))
+self.name = "lldb-" + str(random.randrange(10**10))
 full_name = ".\\pipe\\" + self.name
 self._handle = CreateNamedPipe(
 full_name,

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test] Fix type error when calling random.randrange with 'float' arg (PR #97328)

2024-07-03 Thread Kendal Harland via lldb-commits

kendalharland wrote:

Using `10**10`. Works for me. Updated and rebased on top of `main`.

https://github.com/llvm/llvm-project/pull/97328
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-07-03 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96685

>From a3c524bebfc976f3dfee5b67dac490ed44705d6a Mon Sep 17 00:00:00 2001
From: kendal 
Date: Wed, 3 Jul 2024 11:18:43 -0700
Subject: [PATCH 1/2] Fix type error when calling random.randrange with 'float'
 arg

---
 .../lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py 
b/lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
index 5bd352d3ac549..94376a16d39f6 100644
--- 
a/lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
+++ 
b/lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
@@ -1042,7 +1042,7 @@ def __init__(self):
 class Pipe(object):
 def __init__(self, prefix):
 while True:
-self.name = "lldb-" + str(random.randrange(1e10))
+self.name = "lldb-" + str(random.randrange(10**10))
 full_name = ".\\pipe\\" + self.name
 self._handle = CreateNamedPipe(
 full_name,

>From e5f11c6c57980b75fd68451971db75f6ef0a777a Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 13:42:20 -0700
Subject: [PATCH 2/2] Fix flake in TestZerothFrame.py

This test is relying on the order of `process.threads` which is
nondeterministic. By selecting the thread based on whether it is
stopped at our breakpoint we can reliably select the correct one.
---
 .../unwind/zeroth_frame/TestZerothFrame.py| 23 +--
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git 
a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py 
b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
index f4e883d314644..d660844405e13 100644
--- a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
+++ b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
@@ -40,28 +40,28 @@ def test(self):
 target = self.dbg.CreateTarget(exe)
 self.assertTrue(target, VALID_TARGET)
 
-bp1_line = line_number("main.c", "// Set breakpoint 1 here")
-bp2_line = line_number("main.c", "// Set breakpoint 2 here")
-
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp1_line, num_expected_locations=1
+main_dot_c = lldb.SBFileSpec("main.c")
+bp1 = target.BreakpointCreateBySourceRegex(
+"// Set breakpoint 1 here", main_dot_c
 )
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp2_line, num_expected_locations=1
+bp2 = target.BreakpointCreateBySourceRegex(
+"// Set breakpoint 2 here", main_dot_c
 )
 
 process = target.LaunchSimple(None, None, 
self.get_process_working_directory())
 self.assertTrue(process, VALID_PROCESS)
 
-thread = process.GetThreadAtIndex(0)
+thread = self.thread()
+
 if self.TraceOn():
 print("Backtrace at the first breakpoint:")
 for f in thread.frames:
 print(f)
+
 # Check that we have stopped at correct breakpoint.
 self.assertEqual(
-process.GetThreadAtIndex(0).frame[0].GetLineEntry().GetLine(),
-bp1_line,
+thread.frame[0].GetLineEntry().GetLine(),
+bp1.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 
@@ -70,7 +70,6 @@ def test(self):
 # 'continue' command.
 process.Continue()
 
-thread = process.GetThreadAtIndex(0)
 if self.TraceOn():
 print("Backtrace at the second breakpoint:")
 for f in thread.frames:
@@ -78,7 +77,7 @@ def test(self):
 # Check that we have stopped at the breakpoint
 self.assertEqual(
 thread.frame[0].GetLineEntry().GetLine(),
-bp2_line,
+bp2.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 # Double-check with GetPCAddress()

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-07-03 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96685

>From b880f6d7951534fd90c3728fb9cabbe515295557 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 13:42:20 -0700
Subject: [PATCH] Fix flake in TestZerothFrame.py

This test is relying on the order of `process.threads` which is
nondeterministic. By selecting the thread based on whether it is
stopped at our breakpoint we can reliably select the correct one.
---
 .../unwind/zeroth_frame/TestZerothFrame.py| 23 +--
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git 
a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py 
b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
index f4e883d314644..d660844405e13 100644
--- a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
+++ b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
@@ -40,28 +40,28 @@ def test(self):
 target = self.dbg.CreateTarget(exe)
 self.assertTrue(target, VALID_TARGET)
 
-bp1_line = line_number("main.c", "// Set breakpoint 1 here")
-bp2_line = line_number("main.c", "// Set breakpoint 2 here")
-
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp1_line, num_expected_locations=1
+main_dot_c = lldb.SBFileSpec("main.c")
+bp1 = target.BreakpointCreateBySourceRegex(
+"// Set breakpoint 1 here", main_dot_c
 )
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp2_line, num_expected_locations=1
+bp2 = target.BreakpointCreateBySourceRegex(
+"// Set breakpoint 2 here", main_dot_c
 )
 
 process = target.LaunchSimple(None, None, 
self.get_process_working_directory())
 self.assertTrue(process, VALID_PROCESS)
 
-thread = process.GetThreadAtIndex(0)
+thread = self.thread()
+
 if self.TraceOn():
 print("Backtrace at the first breakpoint:")
 for f in thread.frames:
 print(f)
+
 # Check that we have stopped at correct breakpoint.
 self.assertEqual(
-process.GetThreadAtIndex(0).frame[0].GetLineEntry().GetLine(),
-bp1_line,
+thread.frame[0].GetLineEntry().GetLine(),
+bp1.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 
@@ -70,7 +70,6 @@ def test(self):
 # 'continue' command.
 process.Continue()
 
-thread = process.GetThreadAtIndex(0)
 if self.TraceOn():
 print("Backtrace at the second breakpoint:")
 for f in thread.frames:
@@ -78,7 +77,7 @@ def test(self):
 # Check that we have stopped at the breakpoint
 self.assertEqual(
 thread.frame[0].GetLineEntry().GetLine(),
-bp2_line,
+bp2.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 # Double-check with GetPCAddress()

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-07-03 Thread Kendal Harland via lldb-commits

kendalharland wrote:

Applied formatter patch and rebased onto main 

https://github.com/llvm/llvm-project/pull/96685
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-03 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96687

>From b880f6d7951534fd90c3728fb9cabbe515295557 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 13:42:20 -0700
Subject: [PATCH 1/2] Fix flake in TestZerothFrame.py

This test is relying on the order of `process.threads` which is
nondeterministic. By selecting the thread based on whether it is
stopped at our breakpoint we can reliably select the correct one.
---
 .../unwind/zeroth_frame/TestZerothFrame.py| 23 +--
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git 
a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py 
b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
index f4e883d314644..d660844405e13 100644
--- a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
+++ b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
@@ -40,28 +40,28 @@ def test(self):
 target = self.dbg.CreateTarget(exe)
 self.assertTrue(target, VALID_TARGET)
 
-bp1_line = line_number("main.c", "// Set breakpoint 1 here")
-bp2_line = line_number("main.c", "// Set breakpoint 2 here")
-
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp1_line, num_expected_locations=1
+main_dot_c = lldb.SBFileSpec("main.c")
+bp1 = target.BreakpointCreateBySourceRegex(
+"// Set breakpoint 1 here", main_dot_c
 )
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp2_line, num_expected_locations=1
+bp2 = target.BreakpointCreateBySourceRegex(
+"// Set breakpoint 2 here", main_dot_c
 )
 
 process = target.LaunchSimple(None, None, 
self.get_process_working_directory())
 self.assertTrue(process, VALID_PROCESS)
 
-thread = process.GetThreadAtIndex(0)
+thread = self.thread()
+
 if self.TraceOn():
 print("Backtrace at the first breakpoint:")
 for f in thread.frames:
 print(f)
+
 # Check that we have stopped at correct breakpoint.
 self.assertEqual(
-process.GetThreadAtIndex(0).frame[0].GetLineEntry().GetLine(),
-bp1_line,
+thread.frame[0].GetLineEntry().GetLine(),
+bp1.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 
@@ -70,7 +70,6 @@ def test(self):
 # 'continue' command.
 process.Continue()
 
-thread = process.GetThreadAtIndex(0)
 if self.TraceOn():
 print("Backtrace at the second breakpoint:")
 for f in thread.frames:
@@ -78,7 +77,7 @@ def test(self):
 # Check that we have stopped at the breakpoint
 self.assertEqual(
 thread.frame[0].GetLineEntry().GetLine(),
-bp2_line,
+bp2.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 # Double-check with GetPCAddress()

>From b579f4cf8a234331f0a8b2f276d438c22980a322 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 14:01:31 -0700
Subject: [PATCH 2/2] Fix test assertions in TestDAP_stepInTargets.py

---
 .../stepInTargets/TestDAP_stepInTargets.py| 25 +--
 .../API/tools/lldb-dap/stepInTargets/main.cpp |  6 ++---
 2 files changed, 20 insertions(+), 11 deletions(-)

diff --git 
a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py 
b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
index 6296f6554d07e..4b7caf99e95cc 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
@@ -55,14 +55,23 @@ def test_basic(self):
 self.assertEqual(len(step_in_targets), 3, "expect 3 step in targets")
 
 # Verify the target names are correct.
-self.assertEqual(step_in_targets[0]["label"], "bar()", "expect bar()")
-self.assertEqual(step_in_targets[1]["label"], "bar2()", "expect 
bar2()")
-self.assertEqual(
-step_in_targets[2]["label"], "foo(int, int)", "expect foo(int, 
int)"
-)
+# The order of funcA and funcB may change depending on the compiler 
ABI.
+funcA_target = None
+funcB_target = None
+for target in step_in_targets[0:2]:
+if "funcB" in target["label"]:
+funcB_target = target
+elif "funcA" in target["label"]:
+funcA_target = target
+else:
+self.fail(f"Unexpected step in target: {target}")
+
+self.assertIsNotNone(funcA_target, "expect funcA")
+self.assertIsNotNone(funcB_target, "expect funcB")
+self.assertIn("foo", step_in_targets[2]["label"], "expect foo")
 
-# Choose to step into second target and verify th

[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-07-03 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96685

>From b880f6d7951534fd90c3728fb9cabbe515295557 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 13:42:20 -0700
Subject: [PATCH 1/2] Fix flake in TestZerothFrame.py

This test is relying on the order of `process.threads` which is
nondeterministic. By selecting the thread based on whether it is
stopped at our breakpoint we can reliably select the correct one.
---
 .../unwind/zeroth_frame/TestZerothFrame.py| 23 +--
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git 
a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py 
b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
index f4e883d314644..d660844405e13 100644
--- a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
+++ b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
@@ -40,28 +40,28 @@ def test(self):
 target = self.dbg.CreateTarget(exe)
 self.assertTrue(target, VALID_TARGET)
 
-bp1_line = line_number("main.c", "// Set breakpoint 1 here")
-bp2_line = line_number("main.c", "// Set breakpoint 2 here")
-
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp1_line, num_expected_locations=1
+main_dot_c = lldb.SBFileSpec("main.c")
+bp1 = target.BreakpointCreateBySourceRegex(
+"// Set breakpoint 1 here", main_dot_c
 )
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp2_line, num_expected_locations=1
+bp2 = target.BreakpointCreateBySourceRegex(
+"// Set breakpoint 2 here", main_dot_c
 )
 
 process = target.LaunchSimple(None, None, 
self.get_process_working_directory())
 self.assertTrue(process, VALID_PROCESS)
 
-thread = process.GetThreadAtIndex(0)
+thread = self.thread()
+
 if self.TraceOn():
 print("Backtrace at the first breakpoint:")
 for f in thread.frames:
 print(f)
+
 # Check that we have stopped at correct breakpoint.
 self.assertEqual(
-process.GetThreadAtIndex(0).frame[0].GetLineEntry().GetLine(),
-bp1_line,
+thread.frame[0].GetLineEntry().GetLine(),
+bp1.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 
@@ -70,7 +70,6 @@ def test(self):
 # 'continue' command.
 process.Continue()
 
-thread = process.GetThreadAtIndex(0)
 if self.TraceOn():
 print("Backtrace at the second breakpoint:")
 for f in thread.frames:
@@ -78,7 +77,7 @@ def test(self):
 # Check that we have stopped at the breakpoint
 self.assertEqual(
 thread.frame[0].GetLineEntry().GetLine(),
-bp2_line,
+bp2.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 # Double-check with GetPCAddress()

>From b579f4cf8a234331f0a8b2f276d438c22980a322 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 14:01:31 -0700
Subject: [PATCH 2/2] Fix test assertions in TestDAP_stepInTargets.py

---
 .../stepInTargets/TestDAP_stepInTargets.py| 25 +--
 .../API/tools/lldb-dap/stepInTargets/main.cpp |  6 ++---
 2 files changed, 20 insertions(+), 11 deletions(-)

diff --git 
a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py 
b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
index 6296f6554d07e..4b7caf99e95cc 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
@@ -55,14 +55,23 @@ def test_basic(self):
 self.assertEqual(len(step_in_targets), 3, "expect 3 step in targets")
 
 # Verify the target names are correct.
-self.assertEqual(step_in_targets[0]["label"], "bar()", "expect bar()")
-self.assertEqual(step_in_targets[1]["label"], "bar2()", "expect 
bar2()")
-self.assertEqual(
-step_in_targets[2]["label"], "foo(int, int)", "expect foo(int, 
int)"
-)
+# The order of funcA and funcB may change depending on the compiler 
ABI.
+funcA_target = None
+funcB_target = None
+for target in step_in_targets[0:2]:
+if "funcB" in target["label"]:
+funcB_target = target
+elif "funcA" in target["label"]:
+funcA_target = target
+else:
+self.fail(f"Unexpected step in target: {target}")
+
+self.assertIsNotNone(funcA_target, "expect funcA")
+self.assertIsNotNone(funcB_target, "expect funcB")
+self.assertIn("foo", step_in_targets[2]["label"], "expect foo")
 
-# Choose to step into second target and verify th

[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-07-03 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96685

>From 108865deb28016f6ebe7c507e082e0998a4d4839 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 1 Jul 2024 10:33:51 -0700
Subject: [PATCH 1/3] Fix type error when calling random.randrange with 'float'
 arg

---
 .../tools/lldb-server/commandline/TestGdbRemoteConnection.py| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py 
b/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py
index 853b7ad5ef290..f31a57b767c72 100644
--- a/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py
+++ b/lldb/test/API/tools/lldb-server/commandline/TestGdbRemoteConnection.py
@@ -75,7 +75,7 @@ def __init__(self):
 class Pipe(object):
 def __init__(self, prefix):
 while True:
-self.name = "lldb-" + str(random.randrange(1e10))
+self.name = "lldb-" + str(random.randrange(int(1e10)))
 full_name = ".\\pipe\\" + self.name
 self._handle = CreateNamedPipe(
 full_name,

>From 0897e9ad65ca1ecb5ffa00afefaed3674a2bd140 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 1 Jul 2024 10:20:08 -0700
Subject: [PATCH 2/3] Disable TestUseSourceCache on Windows amd64

This test also fails on Windows amd64, although it is only
disabled for aarch64.
---
 .../commands/settings/use_source_cache/TestUseSourceCache.py| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py 
b/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py
index c54345af4994c..421599080a9e5 100644
--- a/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py
+++ b/lldb/test/API/commands/settings/use_source_cache/TestUseSourceCache.py
@@ -18,7 +18,7 @@ def test_set_use_source_cache_false(self):
 self.set_use_source_cache_and_test(False)
 
 @skipIf(hostoslist=no_match(["windows"]))
-@skipIf(oslist=["windows"], archs=["aarch64"])  # Fails on windows 11
+@skipIf(oslist=["windows"])  # Fails on windows 11
 def test_set_use_source_cache_true(self):
 """Test that after 'set use-source-cache false', files are locked."""
 self.set_use_source_cache_and_test(True)

>From 401e4a823037d8b7fece752f5a2c9fcabfe25bd5 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 13:42:20 -0700
Subject: [PATCH 3/3] Fix flake in TestZerothFrame.py

This test is relying on the order of `process.threads` which is
nondeterministic. By selecting the thread based on whether it is
stopped at our breakpoint we can reliably select the correct one.
---
 .../unwind/zeroth_frame/TestZerothFrame.py| 23 ---
 1 file changed, 9 insertions(+), 14 deletions(-)

diff --git 
a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py 
b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
index f4e883d314644..deb30669cc40e 100644
--- a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
+++ b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
@@ -40,28 +40,24 @@ def test(self):
 target = self.dbg.CreateTarget(exe)
 self.assertTrue(target, VALID_TARGET)
 
-bp1_line = line_number("main.c", "// Set breakpoint 1 here")
-bp2_line = line_number("main.c", "// Set breakpoint 2 here")
-
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp1_line, num_expected_locations=1
-)
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp2_line, num_expected_locations=1
-)
+main_dot_c = lldb.SBFileSpec("main.c")
+bp1 = target.BreakpointCreateBySourceRegex("// Set breakpoint 1 here", 
main_dot_c)
+bp2 = target.BreakpointCreateBySourceRegex("// Set breakpoint 2 here", 
main_dot_c)
 
 process = target.LaunchSimple(None, None, 
self.get_process_working_directory())
 self.assertTrue(process, VALID_PROCESS)
 
-thread = process.GetThreadAtIndex(0)
+thread = self.thread()
+
 if self.TraceOn():
 print("Backtrace at the first breakpoint:")
 for f in thread.frames:
 print(f)
+
 # Check that we have stopped at correct breakpoint.
 self.assertEqual(
-process.GetThreadAtIndex(0).frame[0].GetLineEntry().GetLine(),
-bp1_line,
+thread.frame[0].GetLineEntry().GetLine(),
+bp1.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 
@@ -70,7 +66,6 @@ def test(self):
 # 'continue' command.
 process.Continue()
 
-thread = process.GetThreadAtIndex(0)
 if self.TraceOn():
 print("Backtrace at the second breakpoint:")
  

[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-07-03 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96685

>From 0ec149a364061432a9b7bd8d79ddbb5706b182dc Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 13:42:20 -0700
Subject: [PATCH] Fix flake in TestZerothFrame.py

This test is relying on the order of `process.threads` which is
nondeterministic. By selecting the thread based on whether it is
stopped at our breakpoint we can reliably select the correct one.
---
 .../unwind/zeroth_frame/TestZerothFrame.py| 23 ---
 1 file changed, 9 insertions(+), 14 deletions(-)

diff --git 
a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py 
b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
index f4e883d314644..deb30669cc40e 100644
--- a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
+++ b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
@@ -40,28 +40,24 @@ def test(self):
 target = self.dbg.CreateTarget(exe)
 self.assertTrue(target, VALID_TARGET)
 
-bp1_line = line_number("main.c", "// Set breakpoint 1 here")
-bp2_line = line_number("main.c", "// Set breakpoint 2 here")
-
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp1_line, num_expected_locations=1
-)
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp2_line, num_expected_locations=1
-)
+main_dot_c = lldb.SBFileSpec("main.c")
+bp1 = target.BreakpointCreateBySourceRegex("// Set breakpoint 1 here", 
main_dot_c)
+bp2 = target.BreakpointCreateBySourceRegex("// Set breakpoint 2 here", 
main_dot_c)
 
 process = target.LaunchSimple(None, None, 
self.get_process_working_directory())
 self.assertTrue(process, VALID_PROCESS)
 
-thread = process.GetThreadAtIndex(0)
+thread = self.thread()
+
 if self.TraceOn():
 print("Backtrace at the first breakpoint:")
 for f in thread.frames:
 print(f)
+
 # Check that we have stopped at correct breakpoint.
 self.assertEqual(
-process.GetThreadAtIndex(0).frame[0].GetLineEntry().GetLine(),
-bp1_line,
+thread.frame[0].GetLineEntry().GetLine(),
+bp1.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 
@@ -70,7 +66,6 @@ def test(self):
 # 'continue' command.
 process.Continue()
 
-thread = process.GetThreadAtIndex(0)
 if self.TraceOn():
 print("Backtrace at the second breakpoint:")
 for f in thread.frames:
@@ -78,7 +73,7 @@ def test(self):
 # Check that we have stopped at the breakpoint
 self.assertEqual(
 thread.frame[0].GetLineEntry().GetLine(),
-bp2_line,
+bp2.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 # Double-check with GetPCAddress()

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-07-03 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96685

>From e3715f9928c6cd96a6cc96ea3cea8a8a735a7556 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 13:42:20 -0700
Subject: [PATCH] Fix flake in TestZerothFrame.py

This test is relying on the order of `process.threads` which is
nondeterministic. By selecting the thread based on whether it is
stopped at our breakpoint we can reliably select the correct one.
---
 .../unwind/zeroth_frame/TestZerothFrame.py| 23 +--
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git 
a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py 
b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
index f4e883d314644..d660844405e13 100644
--- a/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
+++ b/lldb/test/API/functionalities/unwind/zeroth_frame/TestZerothFrame.py
@@ -40,28 +40,28 @@ def test(self):
 target = self.dbg.CreateTarget(exe)
 self.assertTrue(target, VALID_TARGET)
 
-bp1_line = line_number("main.c", "// Set breakpoint 1 here")
-bp2_line = line_number("main.c", "// Set breakpoint 2 here")
-
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp1_line, num_expected_locations=1
+main_dot_c = lldb.SBFileSpec("main.c")
+bp1 = target.BreakpointCreateBySourceRegex(
+"// Set breakpoint 1 here", main_dot_c
 )
-lldbutil.run_break_set_by_file_and_line(
-self, "main.c", bp2_line, num_expected_locations=1
+bp2 = target.BreakpointCreateBySourceRegex(
+"// Set breakpoint 2 here", main_dot_c
 )
 
 process = target.LaunchSimple(None, None, 
self.get_process_working_directory())
 self.assertTrue(process, VALID_PROCESS)
 
-thread = process.GetThreadAtIndex(0)
+thread = self.thread()
+
 if self.TraceOn():
 print("Backtrace at the first breakpoint:")
 for f in thread.frames:
 print(f)
+
 # Check that we have stopped at correct breakpoint.
 self.assertEqual(
-process.GetThreadAtIndex(0).frame[0].GetLineEntry().GetLine(),
-bp1_line,
+thread.frame[0].GetLineEntry().GetLine(),
+bp1.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 
@@ -70,7 +70,6 @@ def test(self):
 # 'continue' command.
 process.Continue()
 
-thread = process.GetThreadAtIndex(0)
 if self.TraceOn():
 print("Backtrace at the second breakpoint:")
 for f in thread.frames:
@@ -78,7 +77,7 @@ def test(self):
 # Check that we have stopped at the breakpoint
 self.assertEqual(
 thread.frame[0].GetLineEntry().GetLine(),
-bp2_line,
+bp2.GetLocationAtIndex(0).GetAddress().GetLineEntry().GetLine(),
 "LLDB reported incorrect line number.",
 )
 # Double-check with GetPCAddress()

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-07-03 Thread Kendal Harland via lldb-commits

kendalharland wrote:

Apologies, I push the wrong commits to this PR and just had the fix them up. 
Should be good to go.

https://github.com/llvm/llvm-project/pull/96685
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-03 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96687

>From 2584ce932af07fdac1450e47f74fbd17c8428bb5 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 14:01:31 -0700
Subject: [PATCH] Fix test assertions in TestDAP_stepInTargets.py

---
 .../stepInTargets/TestDAP_stepInTargets.py| 25 +--
 .../API/tools/lldb-dap/stepInTargets/main.cpp |  6 ++---
 2 files changed, 20 insertions(+), 11 deletions(-)

diff --git 
a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py 
b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
index 6296f6554d07e..4b7caf99e95cc 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
@@ -55,14 +55,23 @@ def test_basic(self):
 self.assertEqual(len(step_in_targets), 3, "expect 3 step in targets")
 
 # Verify the target names are correct.
-self.assertEqual(step_in_targets[0]["label"], "bar()", "expect bar()")
-self.assertEqual(step_in_targets[1]["label"], "bar2()", "expect 
bar2()")
-self.assertEqual(
-step_in_targets[2]["label"], "foo(int, int)", "expect foo(int, 
int)"
-)
+# The order of funcA and funcB may change depending on the compiler 
ABI.
+funcA_target = None
+funcB_target = None
+for target in step_in_targets[0:2]:
+if "funcB" in target["label"]:
+funcB_target = target
+elif "funcA" in target["label"]:
+funcA_target = target
+else:
+self.fail(f"Unexpected step in target: {target}")
+
+self.assertIsNotNone(funcA_target, "expect funcA")
+self.assertIsNotNone(funcB_target, "expect funcB")
+self.assertIn("foo", step_in_targets[2]["label"], "expect foo")
 
-# Choose to step into second target and verify that we are in bar2()
-self.stepIn(threadId=tid, targetId=step_in_targets[1]["id"], 
waitForStop=True)
+# Choose to step into second target and verify that we are in funcB()
+self.stepIn(threadId=tid, targetId=funcB_target["id"], 
waitForStop=True)
 leaf_frame = self.dap_server.get_stackFrame()
 self.assertIsNotNone(leaf_frame, "expect a leaf frame")
-self.assertEqual(leaf_frame["name"], "bar2()")
+self.assertIn("funcB", leaf_frame["name"], "expect funcB")
diff --git a/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp 
b/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
index d3c3dbcc139ef..a48b79af0c760 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
@@ -1,11 +1,11 @@
 
 int foo(int val, int extra) { return val + extra; }
 
-int bar() { return 22; }
+int funcA() { return 22; }
 
-int bar2() { return 54; }
+int funcB() { return 54; }
 
 int main(int argc, char const *argv[]) {
-  foo(bar(), bar2()); // set breakpoint here
+  foo(funcA(), funcB()); // set breakpoint here
   return 0;
 }

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-03 Thread Kendal Harland via lldb-commits

kendalharland wrote:

Nice find! I didn't now about godbolt.org.  Updated the test to be 
order-independent w.r.t. funcA and funcB. 

https://github.com/llvm/llvm-project/pull/96687
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix flake in TestZerothFrame.py (PR #96685)

2024-07-05 Thread Kendal Harland via lldb-commits

kendalharland wrote:

I'll need help merging this since I don't have write access to the repo.

https://github.com/llvm/llvm-project/pull/96685
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test] Fix type error when calling random.randrange with 'float' arg (PR #97328)

2024-07-05 Thread Kendal Harland via lldb-commits

kendalharland wrote:

I'll also need help merging this since I don't have write access to the repo.

https://github.com/llvm/llvm-project/pull/97328
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-09 Thread Kendal Harland via lldb-commits


@@ -55,14 +55,23 @@ def test_basic(self):
 self.assertEqual(len(step_in_targets), 3, "expect 3 step in targets")
 
 # Verify the target names are correct.
-self.assertEqual(step_in_targets[0]["label"], "bar()", "expect bar()")
-self.assertEqual(step_in_targets[1]["label"], "bar2()", "expect 
bar2()")
-self.assertEqual(
-step_in_targets[2]["label"], "foo(int, int)", "expect foo(int, 
int)"
-)
+# The order of funcA and funcB may change depending on the compiler 
ABI.
+funcA_target = None
+funcB_target = None
+for target in step_in_targets[0:2]:
+if "funcB" in target["label"]:
+funcB_target = target
+elif "funcA" in target["label"]:
+funcA_target = target
+else:
+self.fail(f"Unexpected step in target: {target}")
+
+self.assertIsNotNone(funcA_target, "expect funcA")
+self.assertIsNotNone(funcB_target, "expect funcB")
+self.assertIn("foo", step_in_targets[2]["label"], "expect foo")
 
-# Choose to step into second target and verify that we are in bar2()
-self.stepIn(threadId=tid, targetId=step_in_targets[1]["id"], 
waitForStop=True)
+# Choose to step into second target and verify that we are in funcB()

kendalharland wrote:

Thanks for the explanation! This sounds like the right thing to do, however I 
believe I'm hitting a bug: the test's DAP always steps into funcB regardless of 
the option passed to `targetId`.  Would you be able to reproduce this? If it 
reproduces for you, I wonder if this has always been broken, given that IIRC 
there's no Windows x64 CI and this test only runs when the architecture is 
x86_64.

https://github.com/llvm/llvm-project/pull/96687
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-09 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/96687
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-09 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96687

>From 02f06f90a40cc7ed18a9744918acf4daf6212486 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 14:01:31 -0700
Subject: [PATCH] Fix test assertions in TestDAP_stepInTargets.py

---
 .../stepInTargets/TestDAP_stepInTargets.py| 24 +--
 .../API/tools/lldb-dap/stepInTargets/main.cpp |  6 ++---
 2 files changed, 20 insertions(+), 10 deletions(-)

diff --git 
a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py 
b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
index 6296f6554d07e..6670989a58fe8 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
@@ -55,14 +55,24 @@ def test_basic(self):
 self.assertEqual(len(step_in_targets), 3, "expect 3 step in targets")
 
 # Verify the target names are correct.
-self.assertEqual(step_in_targets[0]["label"], "bar()", "expect bar()")
-self.assertEqual(step_in_targets[1]["label"], "bar2()", "expect 
bar2()")
-self.assertEqual(
-step_in_targets[2]["label"], "foo(int, int)", "expect foo(int, 
int)"
-)
+# The order of funcA and funcB may change depending on the compiler 
ABI.
+funcA_target = None
+funcB_target = None
+for target in step_in_targets[0:2]:
+if "funcB" in target["label"]:
+funcB_target = target
+elif "funcA" in target["label"]:
+funcA_target = target
+else:
+self.fail(f"Unexpected step in target: {target}")
+
+self.assertIsNotNone(funcA_target, "expect funcA")
+self.assertIsNotNone(funcB_target, "expect funcB")
+self.assertIn("foo", step_in_targets[2]["label"], "expect foo")
 
-# Choose to step into second target and verify that we are in bar2()
+# Choose to step into second target and verify that we are in the 
second target,
+# be it funcA or funcB.
 self.stepIn(threadId=tid, targetId=step_in_targets[1]["id"], 
waitForStop=True)
 leaf_frame = self.dap_server.get_stackFrame()
 self.assertIsNotNone(leaf_frame, "expect a leaf frame")
-self.assertEqual(leaf_frame["name"], "bar2()")
+self.assertEqual(step_in_targets[1]["label"], leaf_frame["name"])
diff --git a/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp 
b/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
index d3c3dbcc139ef..a48b79af0c760 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
@@ -1,11 +1,11 @@
 
 int foo(int val, int extra) { return val + extra; }
 
-int bar() { return 22; }
+int funcA() { return 22; }
 
-int bar2() { return 54; }
+int funcB() { return 54; }
 
 int main(int argc, char const *argv[]) {
-  foo(bar(), bar2()); // set breakpoint here
+  foo(funcA(), funcB()); // set breakpoint here
   return 0;
 }

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-11 Thread Kendal Harland via lldb-commits


@@ -55,14 +55,23 @@ def test_basic(self):
 self.assertEqual(len(step_in_targets), 3, "expect 3 step in targets")
 
 # Verify the target names are correct.
-self.assertEqual(step_in_targets[0]["label"], "bar()", "expect bar()")
-self.assertEqual(step_in_targets[1]["label"], "bar2()", "expect 
bar2()")
-self.assertEqual(
-step_in_targets[2]["label"], "foo(int, int)", "expect foo(int, 
int)"
-)
+# The order of funcA and funcB may change depending on the compiler 
ABI.
+funcA_target = None
+funcB_target = None
+for target in step_in_targets[0:2]:
+if "funcB" in target["label"]:
+funcB_target = target
+elif "funcA" in target["label"]:
+funcA_target = target
+else:
+self.fail(f"Unexpected step in target: {target}")
+
+self.assertIsNotNone(funcA_target, "expect funcA")
+self.assertIsNotNone(funcB_target, "expect funcB")
+self.assertIn("foo", step_in_targets[2]["label"], "expect foo")
 
-# Choose to step into second target and verify that we are in bar2()
-self.stepIn(threadId=tid, targetId=step_in_targets[1]["id"], 
waitForStop=True)
+# Choose to step into second target and verify that we are in funcB()

kendalharland wrote:

That's reasonable. I'll mark as disabled for now and file a bug to investigate. 
I can look into it once I get the time.

https://github.com/llvm/llvm-project/pull/96687
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-11 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96687

>From 02f06f90a40cc7ed18a9744918acf4daf6212486 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 14:01:31 -0700
Subject: [PATCH 1/2] Fix test assertions in TestDAP_stepInTargets.py

---
 .../stepInTargets/TestDAP_stepInTargets.py| 24 +--
 .../API/tools/lldb-dap/stepInTargets/main.cpp |  6 ++---
 2 files changed, 20 insertions(+), 10 deletions(-)

diff --git 
a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py 
b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
index 6296f6554d07e..6670989a58fe8 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
@@ -55,14 +55,24 @@ def test_basic(self):
 self.assertEqual(len(step_in_targets), 3, "expect 3 step in targets")
 
 # Verify the target names are correct.
-self.assertEqual(step_in_targets[0]["label"], "bar()", "expect bar()")
-self.assertEqual(step_in_targets[1]["label"], "bar2()", "expect 
bar2()")
-self.assertEqual(
-step_in_targets[2]["label"], "foo(int, int)", "expect foo(int, 
int)"
-)
+# The order of funcA and funcB may change depending on the compiler 
ABI.
+funcA_target = None
+funcB_target = None
+for target in step_in_targets[0:2]:
+if "funcB" in target["label"]:
+funcB_target = target
+elif "funcA" in target["label"]:
+funcA_target = target
+else:
+self.fail(f"Unexpected step in target: {target}")
+
+self.assertIsNotNone(funcA_target, "expect funcA")
+self.assertIsNotNone(funcB_target, "expect funcB")
+self.assertIn("foo", step_in_targets[2]["label"], "expect foo")
 
-# Choose to step into second target and verify that we are in bar2()
+# Choose to step into second target and verify that we are in the 
second target,
+# be it funcA or funcB.
 self.stepIn(threadId=tid, targetId=step_in_targets[1]["id"], 
waitForStop=True)
 leaf_frame = self.dap_server.get_stackFrame()
 self.assertIsNotNone(leaf_frame, "expect a leaf frame")
-self.assertEqual(leaf_frame["name"], "bar2()")
+self.assertEqual(step_in_targets[1]["label"], leaf_frame["name"])
diff --git a/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp 
b/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
index d3c3dbcc139ef..a48b79af0c760 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
@@ -1,11 +1,11 @@
 
 int foo(int val, int extra) { return val + extra; }
 
-int bar() { return 22; }
+int funcA() { return 22; }
 
-int bar2() { return 54; }
+int funcB() { return 54; }
 
 int main(int argc, char const *argv[]) {
-  foo(bar(), bar2()); // set breakpoint here
+  foo(funcA(), funcB()); // set breakpoint here
   return 0;
 }

>From f993be5d9e1b883aba7c9e998195958039e6ab27 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Thu, 11 Jul 2024 11:52:03 -0700
Subject: [PATCH 2/2] Disable this test on all platforms with issue ID

---
 .../tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py  | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py 
b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
index 6670989a58fe8..0dfc19055b2eb 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
@@ -10,9 +10,10 @@
 
 
 class TestDAP_stepInTargets(lldbdap_testcase.DAPTestCaseBase):
-@skipIf(
-archs=no_match(["x86_64"])
-)  # InstructionControlFlowKind for ARM is not supported yet.
+@expectedFailureAll
+# InstructionControlFlowKind for ARM is not supported yet.
+# On x86_64 lldb-dap seems to ignore targetId when stepping into functions.
+# For more context, see https://github.com/llvm/llvm-project/issues/98509.
 def test_basic(self):
 """
 Tests the basic stepping in targets with directly calls.

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-11 Thread Kendal Harland via lldb-commits


@@ -55,14 +55,23 @@ def test_basic(self):
 self.assertEqual(len(step_in_targets), 3, "expect 3 step in targets")
 
 # Verify the target names are correct.
-self.assertEqual(step_in_targets[0]["label"], "bar()", "expect bar()")
-self.assertEqual(step_in_targets[1]["label"], "bar2()", "expect 
bar2()")
-self.assertEqual(
-step_in_targets[2]["label"], "foo(int, int)", "expect foo(int, 
int)"
-)
+# The order of funcA and funcB may change depending on the compiler 
ABI.
+funcA_target = None
+funcB_target = None
+for target in step_in_targets[0:2]:
+if "funcB" in target["label"]:
+funcB_target = target
+elif "funcA" in target["label"]:
+funcA_target = target
+else:
+self.fail(f"Unexpected step in target: {target}")
+
+self.assertIsNotNone(funcA_target, "expect funcA")
+self.assertIsNotNone(funcB_target, "expect funcB")
+self.assertIn("foo", step_in_targets[2]["label"], "expect foo")
 
-# Choose to step into second target and verify that we are in bar2()
-self.stepIn(threadId=tid, targetId=step_in_targets[1]["id"], 
waitForStop=True)
+# Choose to step into second target and verify that we are in funcB()

kendalharland wrote:

Updated in the latest commit.

https://github.com/llvm/llvm-project/pull/96687
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-12 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96687

>From 02f06f90a40cc7ed18a9744918acf4daf6212486 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 14:01:31 -0700
Subject: [PATCH 1/2] Fix test assertions in TestDAP_stepInTargets.py

---
 .../stepInTargets/TestDAP_stepInTargets.py| 24 +--
 .../API/tools/lldb-dap/stepInTargets/main.cpp |  6 ++---
 2 files changed, 20 insertions(+), 10 deletions(-)

diff --git 
a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py 
b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
index 6296f6554d07e..6670989a58fe8 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
@@ -55,14 +55,24 @@ def test_basic(self):
 self.assertEqual(len(step_in_targets), 3, "expect 3 step in targets")
 
 # Verify the target names are correct.
-self.assertEqual(step_in_targets[0]["label"], "bar()", "expect bar()")
-self.assertEqual(step_in_targets[1]["label"], "bar2()", "expect 
bar2()")
-self.assertEqual(
-step_in_targets[2]["label"], "foo(int, int)", "expect foo(int, 
int)"
-)
+# The order of funcA and funcB may change depending on the compiler 
ABI.
+funcA_target = None
+funcB_target = None
+for target in step_in_targets[0:2]:
+if "funcB" in target["label"]:
+funcB_target = target
+elif "funcA" in target["label"]:
+funcA_target = target
+else:
+self.fail(f"Unexpected step in target: {target}")
+
+self.assertIsNotNone(funcA_target, "expect funcA")
+self.assertIsNotNone(funcB_target, "expect funcB")
+self.assertIn("foo", step_in_targets[2]["label"], "expect foo")
 
-# Choose to step into second target and verify that we are in bar2()
+# Choose to step into second target and verify that we are in the 
second target,
+# be it funcA or funcB.
 self.stepIn(threadId=tid, targetId=step_in_targets[1]["id"], 
waitForStop=True)
 leaf_frame = self.dap_server.get_stackFrame()
 self.assertIsNotNone(leaf_frame, "expect a leaf frame")
-self.assertEqual(leaf_frame["name"], "bar2()")
+self.assertEqual(step_in_targets[1]["label"], leaf_frame["name"])
diff --git a/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp 
b/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
index d3c3dbcc139ef..a48b79af0c760 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
@@ -1,11 +1,11 @@
 
 int foo(int val, int extra) { return val + extra; }
 
-int bar() { return 22; }
+int funcA() { return 22; }
 
-int bar2() { return 54; }
+int funcB() { return 54; }
 
 int main(int argc, char const *argv[]) {
-  foo(bar(), bar2()); // set breakpoint here
+  foo(funcA(), funcB()); // set breakpoint here
   return 0;
 }

>From 4934a0c86272d19202821b126cd7fa99f9b3307d Mon Sep 17 00:00:00 2001
From: kendal 
Date: Thu, 11 Jul 2024 11:52:03 -0700
Subject: [PATCH 2/2] Disable this test on all platforms with issue ID

---
 .../tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py  | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py 
b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
index 6670989a58fe8..29bcf81dbb306 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
@@ -10,9 +10,10 @@
 
 
 class TestDAP_stepInTargets(lldbdap_testcase.DAPTestCaseBase):
-@skipIf(
-archs=no_match(["x86_64"])
-)  # InstructionControlFlowKind for ARM is not supported yet.
+@skipIf
+# InstructionControlFlowKind for ARM is not supported yet.
+# On x86_64 lldb-dap seems to ignore targetId when stepping into functions.
+# For more context, see https://github.com/llvm/llvm-project/issues/98509.
 def test_basic(self):
 """
 Tests the basic stepping in targets with directly calls.

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-12 Thread Kendal Harland via lldb-commits


@@ -55,14 +55,23 @@ def test_basic(self):
 self.assertEqual(len(step_in_targets), 3, "expect 3 step in targets")
 
 # Verify the target names are correct.
-self.assertEqual(step_in_targets[0]["label"], "bar()", "expect bar()")
-self.assertEqual(step_in_targets[1]["label"], "bar2()", "expect 
bar2()")
-self.assertEqual(
-step_in_targets[2]["label"], "foo(int, int)", "expect foo(int, 
int)"
-)
+# The order of funcA and funcB may change depending on the compiler 
ABI.
+funcA_target = None
+funcB_target = None
+for target in step_in_targets[0:2]:
+if "funcB" in target["label"]:
+funcB_target = target
+elif "funcA" in target["label"]:
+funcA_target = target
+else:
+self.fail(f"Unexpected step in target: {target}")
+
+self.assertIsNotNone(funcA_target, "expect funcA")
+self.assertIsNotNone(funcB_target, "expect funcB")
+self.assertIn("foo", step_in_targets[2]["label"], "expect foo")
 
-# Choose to step into second target and verify that we are in bar2()
-self.stepIn(threadId=tid, targetId=step_in_targets[1]["id"], 
waitForStop=True)
+# Choose to step into second target and verify that we are in funcB()

kendalharland wrote:

I used @expectFailureAll rather than @skipIf, not realizing that the test 
_must_ fail if the latter is used. Updated in the latest commit. I'll need help 
landing as I don't have write access. Thank you all for the reviews!

https://github.com/llvm/llvm-project/pull/96687
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-12 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/96687
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-15 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/96687

>From 02f06f90a40cc7ed18a9744918acf4daf6212486 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Mon, 24 Jun 2024 14:01:31 -0700
Subject: [PATCH 1/2] Fix test assertions in TestDAP_stepInTargets.py

---
 .../stepInTargets/TestDAP_stepInTargets.py| 24 +--
 .../API/tools/lldb-dap/stepInTargets/main.cpp |  6 ++---
 2 files changed, 20 insertions(+), 10 deletions(-)

diff --git 
a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py 
b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
index 6296f6554d07e..6670989a58fe8 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
@@ -55,14 +55,24 @@ def test_basic(self):
 self.assertEqual(len(step_in_targets), 3, "expect 3 step in targets")
 
 # Verify the target names are correct.
-self.assertEqual(step_in_targets[0]["label"], "bar()", "expect bar()")
-self.assertEqual(step_in_targets[1]["label"], "bar2()", "expect 
bar2()")
-self.assertEqual(
-step_in_targets[2]["label"], "foo(int, int)", "expect foo(int, 
int)"
-)
+# The order of funcA and funcB may change depending on the compiler 
ABI.
+funcA_target = None
+funcB_target = None
+for target in step_in_targets[0:2]:
+if "funcB" in target["label"]:
+funcB_target = target
+elif "funcA" in target["label"]:
+funcA_target = target
+else:
+self.fail(f"Unexpected step in target: {target}")
+
+self.assertIsNotNone(funcA_target, "expect funcA")
+self.assertIsNotNone(funcB_target, "expect funcB")
+self.assertIn("foo", step_in_targets[2]["label"], "expect foo")
 
-# Choose to step into second target and verify that we are in bar2()
+# Choose to step into second target and verify that we are in the 
second target,
+# be it funcA or funcB.
 self.stepIn(threadId=tid, targetId=step_in_targets[1]["id"], 
waitForStop=True)
 leaf_frame = self.dap_server.get_stackFrame()
 self.assertIsNotNone(leaf_frame, "expect a leaf frame")
-self.assertEqual(leaf_frame["name"], "bar2()")
+self.assertEqual(step_in_targets[1]["label"], leaf_frame["name"])
diff --git a/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp 
b/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
index d3c3dbcc139ef..a48b79af0c760 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
@@ -1,11 +1,11 @@
 
 int foo(int val, int extra) { return val + extra; }
 
-int bar() { return 22; }
+int funcA() { return 22; }
 
-int bar2() { return 54; }
+int funcB() { return 54; }
 
 int main(int argc, char const *argv[]) {
-  foo(bar(), bar2()); // set breakpoint here
+  foo(funcA(), funcB()); // set breakpoint here
   return 0;
 }

>From 8735430b3f99ba78791fca6c44891cb51cdb90f9 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Thu, 11 Jul 2024 11:52:03 -0700
Subject: [PATCH 2/2] Disable this test on all platforms with issue ID

---
 .../tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git 
a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py 
b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
index 6670989a58fe8..07acfe07c9ffc 100644
--- a/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
+++ b/lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
@@ -10,9 +10,11 @@
 
 
 class TestDAP_stepInTargets(lldbdap_testcase.DAPTestCaseBase):
-@skipIf(
-archs=no_match(["x86_64"])
-)  # InstructionControlFlowKind for ARM is not supported yet.
+@expectedFailureAll(oslist=["windows"])
+@skipIf(archs=no_match(["x86_64"]))
+# InstructionControlFlowKind for ARM is not supported yet.
+# On Windows, lldb-dap seems to ignore targetId when stepping into 
functions.
+# For more context, see https://github.com/llvm/llvm-project/issues/98509.
 def test_basic(self):
 """
 Tests the basic stepping in targets with directly calls.

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Fix test assertions in TestDAP_stepInTargets.py (PR #96687)

2024-07-15 Thread Kendal Harland via lldb-commits


@@ -10,9 +10,10 @@
 
 
 class TestDAP_stepInTargets(lldbdap_testcase.DAPTestCaseBase):
-@skipIf(
-archs=no_match(["x86_64"])
-)  # InstructionControlFlowKind for ARM is not supported yet.
+@skipIf
+# InstructionControlFlowKind for ARM is not supported yet.
+# On x86_64 lldb-dap seems to ignore targetId when stepping into functions.

kendalharland wrote:

Ah thanks for catching that. I added back the original `@skipIf` since the 
comment indicates that running the test on ARM is a waste, given that 
InstructionControlFlowKind is unsupported, and combined that with the 
`@expectedFailureAll` you gave above to expect failure on Windows 
configurations.

https://github.com/llvm/llvm-project/pull/96687
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing lldb/test/Shell/Drive… (PR #100473)

2024-07-24 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland created 
https://github.com/llvm/llvm-project/pull/100473

I'm currently working on getting the LLDB test suites to pass on Windows x86_64 
which is not currently included in LLVM CI. These tests are currently failing 
on this configuration.

>From 7c63b093423fd30e64cb08e770105eb9ed475005 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Tue, 23 Jul 2024 15:18:13 -0700
Subject: [PATCH] [lldb][test][win][x86_64] XFAIL already failing
 lldb/test/Shell/Driver tests

---
 lldb/test/Shell/Driver/TestConvenienceVariables.test | 1 +
 lldb/test/Shell/Driver/TestSingleQuote.test  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/lldb/test/Shell/Driver/TestConvenienceVariables.test 
b/lldb/test/Shell/Driver/TestConvenienceVariables.test
index 45dc7673bfc51..36ec0748a5a02 100644
--- a/lldb/test/Shell/Driver/TestConvenienceVariables.test
+++ b/lldb/test/Shell/Driver/TestConvenienceVariables.test
@@ -3,6 +3,7 @@ RUN: mkdir -p %t
 RUN: %build %p/Inputs/hello.cpp -o %t/target.out
 RUN: %lldb %t/target.out -s %p/Inputs/convenience.in -o quit | FileCheck %s
 
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
 CHECK: stop reason = breakpoint 1.1
 CHECK: script print(lldb.debugger)
 CHECK-NEXT: Debugger (instance: {{.*}}, id: {{[0-9]+}})
diff --git a/lldb/test/Shell/Driver/TestSingleQuote.test 
b/lldb/test/Shell/Driver/TestSingleQuote.test
index af321ba04db39..5d721b5a3345c 100644
--- a/lldb/test/Shell/Driver/TestSingleQuote.test
+++ b/lldb/test/Shell/Driver/TestSingleQuote.test
@@ -2,5 +2,6 @@
 # RUN: %clang_host %p/Inputs/hello.c -g -o "%t-'pat"
 # RUN: %lldb -s %s "%t-'pat" | FileCheck %s
 
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
 br set -p return
 # CHECK: Breakpoint 1: where = TestSingleQuote.test.tmp-'pat`main

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing Shell/Driver tests (PR #100473)

2024-07-24 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100473
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing Shell/Driver tests (PR #100473)

2024-07-24 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100473
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing Shell/Driver tests (PR #100473)

2024-07-24 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100473
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing Shell tests (PR #100476)

2024-07-24 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland created 
https://github.com/llvm/llvm-project/pull/100476

I'm currently working on getting the LLDB test suites to pass on Windows x86_64 
which is not currently included in LLVM CI. These tests are currently failing 
in this configuration.

See https://github.com/llvm/llvm-project/issues/100474

>From f293beaaa7d5d0a4c07c5f7e8dd43be4d69984ef Mon Sep 17 00:00:00 2001
From: kendal 
Date: Tue, 23 Jul 2024 15:47:48 -0700
Subject: [PATCH] [lldb][test][win][x86_64] XFAIL already failing Shell tests

---
 lldb/test/Shell/Driver/TestConvenienceVariables.test  | 1 +
 lldb/test/Shell/Driver/TestSingleQuote.test   | 1 +
 lldb/test/Shell/Recognizer/verbose_trap.test  | 4 
 lldb/test/Shell/Settings/TestEchoCommands.test| 1 +
 lldb/test/Shell/SymbolFile/DWARF/x86/dead-code-filtering.yaml | 2 ++
 lldb/test/Shell/SymbolFile/NativePDB/local-variables.cpp  | 2 ++
 lldb/test/Shell/SymbolFile/NativePDB/stack_unwinding01.cpp| 2 ++
 lldb/test/Shell/SymbolFile/PDB/ast-restore.test   | 1 +
 lldb/test/Shell/SymbolFile/PDB/calling-conventions-x86.test   | 1 +
 lldb/test/Shell/SymbolFile/PDB/class-layout.test  | 1 +
 lldb/test/Shell/SymbolFile/PDB/enums-layout.test  | 1 +
 lldb/test/Shell/SymbolFile/PDB/expressions.test   | 1 +
 lldb/test/Shell/SymbolFile/PDB/func-symbols.test  | 1 +
 lldb/test/Shell/SymbolFile/PDB/pointers.test  | 1 +
 lldb/test/Shell/SymbolFile/PDB/type-quals.test| 1 +
 lldb/test/Shell/SymbolFile/PDB/typedefs.test  | 1 +
 lldb/test/Shell/SymbolFile/PDB/udt-layout.test| 1 +
 lldb/test/Shell/SymbolFile/PDB/variables.test | 1 +
 18 files changed, 24 insertions(+)

diff --git a/lldb/test/Shell/Driver/TestConvenienceVariables.test 
b/lldb/test/Shell/Driver/TestConvenienceVariables.test
index 45dc7673bfc51..32c3d160153fb 100644
--- a/lldb/test/Shell/Driver/TestConvenienceVariables.test
+++ b/lldb/test/Shell/Driver/TestConvenienceVariables.test
@@ -1,3 +1,4 @@
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
 REQUIRES: python
 RUN: mkdir -p %t
 RUN: %build %p/Inputs/hello.cpp -o %t/target.out
diff --git a/lldb/test/Shell/Driver/TestSingleQuote.test 
b/lldb/test/Shell/Driver/TestSingleQuote.test
index af321ba04db39..49f6548e0c5b1 100644
--- a/lldb/test/Shell/Driver/TestSingleQuote.test
+++ b/lldb/test/Shell/Driver/TestSingleQuote.test
@@ -1,3 +1,4 @@
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
 # Make sure lldb can handle filenames with single quotes in them.
 # RUN: %clang_host %p/Inputs/hello.c -g -o "%t-'pat"
 # RUN: %lldb -s %s "%t-'pat" | FileCheck %s
diff --git a/lldb/test/Shell/Recognizer/verbose_trap.test 
b/lldb/test/Shell/Recognizer/verbose_trap.test
index dafab7bdea688..76ba87f0f115a 100644
--- a/lldb/test/Shell/Recognizer/verbose_trap.test
+++ b/lldb/test/Shell/Recognizer/verbose_trap.test
@@ -1,4 +1,5 @@
 # UNSUPPORTED: system-windows
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
 #
 # RUN: %clang_host -g -O0 %S/Inputs/verbose_trap.cpp -o %t.out 
-DVERBOSE_TRAP_TEST_CATEGORY=\"Foo\" -DVERBOSE_TRAP_TEST_MESSAGE=\"Bar\"
 # RUN: %lldb -b -s %s %t.out | FileCheck %s --check-prefixes=CHECK,CHECK-BOTH
@@ -12,6 +13,9 @@
 # RUN: %clang_host -g -O0 %S/Inputs/verbose_trap.cpp -o %t.out 
-DVERBOSE_TRAP_TEST_CATEGORY=\"\" -DVERBOSE_TRAP_TEST_MESSAGE=\"\"
 # RUN: %lldb -b -s %s %t.out | FileCheck %s --check-prefixes=CHECK,CHECK-NONE
 
+# RUN: %clang_host -g -O0 %S/Inputs/verbose_trap.cpp -o %t.out
+# RUN: %lldb -b -s %s %t.out | FileCheck %s
+
 run
 # CHECK-BOTH:  thread #{{.*}}stop reason = Foo: Bar
 # CHECK-MESSAGE_ONLY:  thread #{{.*}}stop reason = : Bar
diff --git a/lldb/test/Shell/Settings/TestEchoCommands.test 
b/lldb/test/Shell/Settings/TestEchoCommands.test
index 234b9742bfa2a..02f50d7b21ba5 100644
--- a/lldb/test/Shell/Settings/TestEchoCommands.test
+++ b/lldb/test/Shell/Settings/TestEchoCommands.test
@@ -1,3 +1,4 @@
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
 # RUN: %lldb -x -b -o 'settings set interpreter.echo-comment-commands true'  
-s %S/Inputs/EchoCommandsTest.in | FileCheck %S/Inputs/EchoCommandsAll.out
 # RUN: %lldb -x -b -o 'settings set interpreter.echo-comment-commands false' 
-s %S/Inputs/EchoCommandsTest.in | FileCheck 
%S/Inputs/EchoCommandsNoComments.out
 # RUN: %lldb -x -b -o 'settings set interpreter.echo-commands false' 
-s %S/Inputs/EchoCommandsTest.in | FileCheck %S/Inputs/EchoCommandsNone.out
diff --git a/lldb/test/Shell/SymbolFile/DWARF/x86/dead-code-filtering.yaml 
b/lldb/test/Shell/SymbolFile/DWARF/x86/dead-code-filtering.yaml
index 9ac922ef3159c..84175041ea1da 100644
--- a/lldb/test/Shell/SymbolFile/DWARF/x86/dead-code-filtering.yaml
+++ b/lldb/test/Shell/SymbolFile/DWARF/x86/dead-code-filtering.yaml
@@ -1,3 +1,5 @@
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
+
 # RUN: yaml2obj %s > %t
 # RUN: lldb-test symbols %t | FileCheck %s --che

[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing API tests (PR #100477)

2024-07-24 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland created 
https://github.com/llvm/llvm-project/pull/100477

I'm currently working on getting the LLDB test suites to pass on Windows x86_64 
which is not currently included in LLVM CI. These tests are currently failing 
in this configuration.

See https://github.com/llvm/llvm-project/issues/100474

See also https://github.com/llvm/llvm-project/issues/75936

>From f8e40b90d65434838d2baa79795a1b160ab4614c Mon Sep 17 00:00:00 2001
From: kendal 
Date: Tue, 23 Jul 2024 16:50:34 -0700
Subject: [PATCH] [lldb][test][win][x86_64] XFAIL already failing API tests

---
 .../apropos/with-process/TestAproposWithProcess.py |  3 ++-
 .../command/nested_alias/TestNestedAlias.py|  3 ++-
 .../expression/entry-bp/TestExprEntryBP.py |  2 ++
 .../API/commands/memory/write/TestMemoryWrite.py   |  1 +
 .../use_source_cache/TestUseSourceCache.py |  2 +-
 .../address_breakpoints/TestAddressBreakpoints.py  |  3 ++-
 .../auto_continue/TestBreakpointAutoContinue.py|  3 ++-
 .../TestBreakpointCommandsFromPython.py|  1 +
 .../breakpoint_options/TestBreakpointOptions.py|  3 ++-
 .../step_over_breakpoint/TestStepOverBreakpoint.py |  2 +-
 .../conditional_break/TestConditionalBreak.py  |  1 +
 .../functionalities/memory/find/TestMemoryFind.py  |  2 +-
 .../multiple-slides/TestMultipleSlides.py  |  2 +-
 .../API/functionalities/var_path/TestVarPath.py|  2 --
 lldb/test/API/lang/c/anonymous/TestAnonymous.py|  7 ++-
 lldb/test/API/lang/c/array_types/TestArrayTypes.py |  3 ++-
 lldb/test/API/lang/c/enum_types/TestEnumTypes.py   |  2 +-
 .../API/lang/c/forward/TestForwardDeclaration.py   |  2 +-
 .../API/lang/c/function_types/TestFunctionTypes.py |  2 +-
 .../test/API/lang/c/non-mangled/TestCNonMangled.py |  2 ++
 .../c/register_variables/TestRegisterVariables.py  |  1 +
 lldb/test/API/lang/c/set_values/TestSetValues.py   |  2 +-
 lldb/test/API/lang/c/shared_lib/TestSharedLib.py   |  5 +++--
 .../API/lang/cpp/bitfields/TestCppBitfields.py |  1 +
 .../API/lang/cpp/class_types/TestClassTypes.py |  3 ++-
 lldb/test/API/lang/cpp/inlines/TestInlines.py  |  2 +-
 .../API/lang/cpp/unique-types4/TestUniqueTypes4.py | 14 --
 .../python_api/compile_unit/TestCompileUnitAPI.py  |  1 +
 lldb/test/API/python_api/thread/TestThreadAPI.py   |  1 +
 lldb/test/API/source-manager/TestSourceManager.py  |  2 ++
 30 files changed, 57 insertions(+), 23 deletions(-)

diff --git 
a/lldb/test/API/commands/apropos/with-process/TestAproposWithProcess.py 
b/lldb/test/API/commands/apropos/with-process/TestAproposWithProcess.py
index 268317a4bf212..adeb7b4f906c5 100644
--- a/lldb/test/API/commands/apropos/with-process/TestAproposWithProcess.py
+++ b/lldb/test/API/commands/apropos/with-process/TestAproposWithProcess.py
@@ -2,8 +2,8 @@
 Test that apropos env doesn't crash trying to touch the process plugin command
 """
 
-
 import lldb
+from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 import lldbsuite.test.lldbutil as lldbutil
 
@@ -17,6 +17,7 @@ def setUp(self):
 # Find the line number to break inside main().
 self.line = line_number("main.cpp", "// break here")
 
+@expectedFailureAll(triple="x86_64-.*-windows.*")
 def test_apropos_with_process(self):
 """Test that apropos env doesn't crash trying to touch the process 
plugin command."""
 self.build()
diff --git a/lldb/test/API/commands/command/nested_alias/TestNestedAlias.py 
b/lldb/test/API/commands/command/nested_alias/TestNestedAlias.py
index 0919caa7d0056..315576afde703 100644
--- a/lldb/test/API/commands/command/nested_alias/TestNestedAlias.py
+++ b/lldb/test/API/commands/command/nested_alias/TestNestedAlias.py
@@ -2,8 +2,8 @@
 Test that an alias can reference other aliases without crashing.
 """
 
-
 import lldb
+from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 import lldbsuite.test.lldbutil as lldbutil
 
@@ -17,6 +17,7 @@ def setUp(self):
 # Find the line number to break inside main().
 self.line = line_number("main.cpp", "// break here")
 
+@expectedFailureAll(triple="x86_64-.*-windows.*")
 def test_nested_alias(self):
 """Test that an alias can reference other aliases without crashing."""
 self.build()
diff --git a/lldb/test/API/commands/expression/entry-bp/TestExprEntryBP.py 
b/lldb/test/API/commands/expression/entry-bp/TestExprEntryBP.py
index 1e7882b4d0236..0ee7e46d73cd1 100644
--- a/lldb/test/API/commands/expression/entry-bp/TestExprEntryBP.py
+++ b/lldb/test/API/commands/expression/entry-bp/TestExprEntryBP.py
@@ -4,12 +4,14 @@
 
 import lldb
 import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 
 
 class ExprEntryBPTestCase(TestBase):
 NO_DEBUG_INFO_TESTCASE = True
 
+@expectedFailureAll(triple="x86_64-.*-windows.*")
 def test_expr_entry_bp(self):
 """Tests exp

[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing API tests (PR #100477)

2024-07-24 Thread Kendal Harland via lldb-commits

kendalharland wrote:

> Rather than a regex for the triple, can you use a combination of `oslist` and 
> `archs`? `expectedFailureAll` is supposed to combine the conditions, so the 
> regex should be equivalent to:
> 
> ```
> @expectedFailureAll(oslist=["windows"], archs=["x86_64"])
> ```

Yes. I will fix this in each of the PRs I recently mailed you.

https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing Shell tests (PR #100476)

2024-07-24 Thread Kendal Harland via lldb-commits


@@ -12,6 +13,9 @@
 # RUN: %clang_host -g -O0 %S/Inputs/verbose_trap.cpp -o %t.out 
-DVERBOSE_TRAP_TEST_CATEGORY=\"\" -DVERBOSE_TRAP_TEST_MESSAGE=\"\"
 # RUN: %lldb -b -s %s %t.out | FileCheck %s --check-prefixes=CHECK,CHECK-NONE
 
+# RUN: %clang_host -g -O0 %S/Inputs/verbose_trap.cpp -o %t.out

kendalharland wrote:

I am not sure where these two lines came from. Might be a bad rebase. I'll 
recheck locally then update.

https://github.com/llvm/llvm-project/pull/100476
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing API tests (PR #100477)

2024-07-24 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/100477

>From 3a7e97987140c2d62259a54cb17c00996c0ed6db Mon Sep 17 00:00:00 2001
From: kendal 
Date: Tue, 23 Jul 2024 16:50:34 -0700
Subject: [PATCH] [lldb][test][win][x86_64] XFAIL already failing API tests

---
 .../apropos/with-process/TestAproposWithProcess.py |  3 ++-
 .../command/nested_alias/TestNestedAlias.py|  3 ++-
 .../expression/entry-bp/TestExprEntryBP.py |  2 ++
 .../API/commands/memory/write/TestMemoryWrite.py   |  1 +
 .../use_source_cache/TestUseSourceCache.py |  2 +-
 .../address_breakpoints/TestAddressBreakpoints.py  |  3 ++-
 .../auto_continue/TestBreakpointAutoContinue.py|  3 ++-
 .../TestBreakpointCommandsFromPython.py|  1 +
 .../breakpoint_options/TestBreakpointOptions.py|  3 ++-
 .../step_over_breakpoint/TestStepOverBreakpoint.py |  2 +-
 .../conditional_break/TestConditionalBreak.py  |  1 +
 .../functionalities/memory/find/TestMemoryFind.py  |  2 +-
 .../multiple-slides/TestMultipleSlides.py  |  2 +-
 .../API/functionalities/var_path/TestVarPath.py|  2 --
 lldb/test/API/lang/c/anonymous/TestAnonymous.py|  7 ++-
 lldb/test/API/lang/c/array_types/TestArrayTypes.py |  3 ++-
 lldb/test/API/lang/c/enum_types/TestEnumTypes.py   |  2 +-
 .../API/lang/c/forward/TestForwardDeclaration.py   |  2 +-
 .../API/lang/c/function_types/TestFunctionTypes.py |  2 +-
 .../test/API/lang/c/non-mangled/TestCNonMangled.py |  2 ++
 .../c/register_variables/TestRegisterVariables.py  |  1 +
 lldb/test/API/lang/c/set_values/TestSetValues.py   |  2 +-
 lldb/test/API/lang/c/shared_lib/TestSharedLib.py   |  5 +++--
 .../API/lang/cpp/bitfields/TestCppBitfields.py |  1 +
 .../API/lang/cpp/class_types/TestClassTypes.py |  3 ++-
 lldb/test/API/lang/cpp/inlines/TestInlines.py  |  2 +-
 .../API/lang/cpp/unique-types4/TestUniqueTypes4.py | 14 --
 .../python_api/compile_unit/TestCompileUnitAPI.py  |  1 +
 lldb/test/API/python_api/thread/TestThreadAPI.py   |  3 ++-
 lldb/test/API/source-manager/TestSourceManager.py  |  2 ++
 30 files changed, 58 insertions(+), 24 deletions(-)

diff --git 
a/lldb/test/API/commands/apropos/with-process/TestAproposWithProcess.py 
b/lldb/test/API/commands/apropos/with-process/TestAproposWithProcess.py
index 268317a4bf212..6a802d544fe9e 100644
--- a/lldb/test/API/commands/apropos/with-process/TestAproposWithProcess.py
+++ b/lldb/test/API/commands/apropos/with-process/TestAproposWithProcess.py
@@ -2,8 +2,8 @@
 Test that apropos env doesn't crash trying to touch the process plugin command
 """
 
-
 import lldb
+from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 import lldbsuite.test.lldbutil as lldbutil
 
@@ -17,6 +17,7 @@ def setUp(self):
 # Find the line number to break inside main().
 self.line = line_number("main.cpp", "// break here")
 
+@expectedFailureAll(oslist=["windows"], archs=["x86_64"])
 def test_apropos_with_process(self):
 """Test that apropos env doesn't crash trying to touch the process 
plugin command."""
 self.build()
diff --git a/lldb/test/API/commands/command/nested_alias/TestNestedAlias.py 
b/lldb/test/API/commands/command/nested_alias/TestNestedAlias.py
index 0919caa7d0056..954578f777c66 100644
--- a/lldb/test/API/commands/command/nested_alias/TestNestedAlias.py
+++ b/lldb/test/API/commands/command/nested_alias/TestNestedAlias.py
@@ -2,8 +2,8 @@
 Test that an alias can reference other aliases without crashing.
 """
 
-
 import lldb
+from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 import lldbsuite.test.lldbutil as lldbutil
 
@@ -17,6 +17,7 @@ def setUp(self):
 # Find the line number to break inside main().
 self.line = line_number("main.cpp", "// break here")
 
+@expectedFailureAll(oslist=["windows"], archs=["x86_64"])
 def test_nested_alias(self):
 """Test that an alias can reference other aliases without crashing."""
 self.build()
diff --git a/lldb/test/API/commands/expression/entry-bp/TestExprEntryBP.py 
b/lldb/test/API/commands/expression/entry-bp/TestExprEntryBP.py
index 1e7882b4d0236..2b1f83e288fff 100644
--- a/lldb/test/API/commands/expression/entry-bp/TestExprEntryBP.py
+++ b/lldb/test/API/commands/expression/entry-bp/TestExprEntryBP.py
@@ -4,12 +4,14 @@
 
 import lldb
 import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 
 
 class ExprEntryBPTestCase(TestBase):
 NO_DEBUG_INFO_TESTCASE = True
 
+@expectedFailureAll(oslist=["windows"], archs=["x86_64"])
 def test_expr_entry_bp(self):
 """Tests expressions evaluation when the breakpoint on module's entry 
is set."""
 self.build()
diff --git a/lldb/test/API/commands/memory/write/TestMemoryWrite.py 
b/lldb/test/API/commands/memory/write/TestMemoryWrite.py
index 45787243a614d..cb74c77c3c16f 100644
--- a/lldb/tes

[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing API tests (PR #100477)

2024-07-24 Thread Kendal Harland via lldb-commits

kendalharland wrote:

> > Rather than a regex for the triple, can you use a combination of `oslist` 
> > and `archs`? `expectedFailureAll` is supposed to combine the conditions, so 
> > the regex should be equivalent to:
> > ```
> > @expectedFailureAll(oslist=["windows"], archs=["x86_64"])
> > ```
> 
> Yes. I will fix this in each of the PRs I recently mailed you.
> 
> Will fix the dark formatter issue above too.

Done

https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing Shell tests (PR #100476)

2024-07-24 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/100476

>From fc88c4ac46e0e9266bf24467b6ad6c5e55d8216c Mon Sep 17 00:00:00 2001
From: kendal 
Date: Tue, 23 Jul 2024 15:47:48 -0700
Subject: [PATCH] [lldb][test][win][x86_64] XFAIL already failing Shell tests

---
 lldb/test/Shell/Driver/TestConvenienceVariables.test  | 1 +
 lldb/test/Shell/Driver/TestSingleQuote.test   | 1 +
 lldb/test/Shell/Recognizer/verbose_trap.test  | 1 +
 lldb/test/Shell/Settings/TestEchoCommands.test| 1 +
 lldb/test/Shell/SymbolFile/DWARF/x86/dead-code-filtering.yaml | 2 ++
 lldb/test/Shell/SymbolFile/NativePDB/local-variables.cpp  | 2 ++
 lldb/test/Shell/SymbolFile/NativePDB/stack_unwinding01.cpp| 2 ++
 lldb/test/Shell/SymbolFile/PDB/ast-restore.test   | 1 +
 lldb/test/Shell/SymbolFile/PDB/calling-conventions-x86.test   | 1 +
 lldb/test/Shell/SymbolFile/PDB/class-layout.test  | 1 +
 lldb/test/Shell/SymbolFile/PDB/enums-layout.test  | 1 +
 lldb/test/Shell/SymbolFile/PDB/expressions.test   | 1 +
 lldb/test/Shell/SymbolFile/PDB/func-symbols.test  | 1 +
 lldb/test/Shell/SymbolFile/PDB/pointers.test  | 1 +
 lldb/test/Shell/SymbolFile/PDB/type-quals.test| 1 +
 lldb/test/Shell/SymbolFile/PDB/typedefs.test  | 1 +
 lldb/test/Shell/SymbolFile/PDB/udt-layout.test| 1 +
 lldb/test/Shell/SymbolFile/PDB/variables.test | 1 +
 18 files changed, 21 insertions(+)

diff --git a/lldb/test/Shell/Driver/TestConvenienceVariables.test 
b/lldb/test/Shell/Driver/TestConvenienceVariables.test
index 45dc7673bfc51..32c3d160153fb 100644
--- a/lldb/test/Shell/Driver/TestConvenienceVariables.test
+++ b/lldb/test/Shell/Driver/TestConvenienceVariables.test
@@ -1,3 +1,4 @@
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
 REQUIRES: python
 RUN: mkdir -p %t
 RUN: %build %p/Inputs/hello.cpp -o %t/target.out
diff --git a/lldb/test/Shell/Driver/TestSingleQuote.test 
b/lldb/test/Shell/Driver/TestSingleQuote.test
index af321ba04db39..49f6548e0c5b1 100644
--- a/lldb/test/Shell/Driver/TestSingleQuote.test
+++ b/lldb/test/Shell/Driver/TestSingleQuote.test
@@ -1,3 +1,4 @@
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
 # Make sure lldb can handle filenames with single quotes in them.
 # RUN: %clang_host %p/Inputs/hello.c -g -o "%t-'pat"
 # RUN: %lldb -s %s "%t-'pat" | FileCheck %s
diff --git a/lldb/test/Shell/Recognizer/verbose_trap.test 
b/lldb/test/Shell/Recognizer/verbose_trap.test
index dafab7bdea688..e8950ad7ad23a 100644
--- a/lldb/test/Shell/Recognizer/verbose_trap.test
+++ b/lldb/test/Shell/Recognizer/verbose_trap.test
@@ -1,4 +1,5 @@
 # UNSUPPORTED: system-windows
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
 #
 # RUN: %clang_host -g -O0 %S/Inputs/verbose_trap.cpp -o %t.out 
-DVERBOSE_TRAP_TEST_CATEGORY=\"Foo\" -DVERBOSE_TRAP_TEST_MESSAGE=\"Bar\"
 # RUN: %lldb -b -s %s %t.out | FileCheck %s --check-prefixes=CHECK,CHECK-BOTH
diff --git a/lldb/test/Shell/Settings/TestEchoCommands.test 
b/lldb/test/Shell/Settings/TestEchoCommands.test
index 234b9742bfa2a..02f50d7b21ba5 100644
--- a/lldb/test/Shell/Settings/TestEchoCommands.test
+++ b/lldb/test/Shell/Settings/TestEchoCommands.test
@@ -1,3 +1,4 @@
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
 # RUN: %lldb -x -b -o 'settings set interpreter.echo-comment-commands true'  
-s %S/Inputs/EchoCommandsTest.in | FileCheck %S/Inputs/EchoCommandsAll.out
 # RUN: %lldb -x -b -o 'settings set interpreter.echo-comment-commands false' 
-s %S/Inputs/EchoCommandsTest.in | FileCheck 
%S/Inputs/EchoCommandsNoComments.out
 # RUN: %lldb -x -b -o 'settings set interpreter.echo-commands false' 
-s %S/Inputs/EchoCommandsTest.in | FileCheck %S/Inputs/EchoCommandsNone.out
diff --git a/lldb/test/Shell/SymbolFile/DWARF/x86/dead-code-filtering.yaml 
b/lldb/test/Shell/SymbolFile/DWARF/x86/dead-code-filtering.yaml
index 9ac922ef3159c..84175041ea1da 100644
--- a/lldb/test/Shell/SymbolFile/DWARF/x86/dead-code-filtering.yaml
+++ b/lldb/test/Shell/SymbolFile/DWARF/x86/dead-code-filtering.yaml
@@ -1,3 +1,5 @@
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
+
 # RUN: yaml2obj %s > %t
 # RUN: lldb-test symbols %t | FileCheck %s --check-prefix=TEST
 # RUN: %lldb %t -o "image dump line-table a.c" -o "image lookup -n _start" -o 
"image lookup -n f" -o exit | FileCheck %s
diff --git a/lldb/test/Shell/SymbolFile/NativePDB/local-variables.cpp 
b/lldb/test/Shell/SymbolFile/NativePDB/local-variables.cpp
index 9aa25adf6bcc7..3e767230e04db 100644
--- a/lldb/test/Shell/SymbolFile/NativePDB/local-variables.cpp
+++ b/lldb/test/Shell/SymbolFile/NativePDB/local-variables.cpp
@@ -1,5 +1,7 @@
 // clang-format off
 
+// XFAIL: target=x86_64-{{.*}}-windows{{.*}}
+
 // REQUIRES: system-windows
 // RUN: %build -o %t.exe -- %s
 // RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
diff --git a/lldb/test/Shell/SymbolFile/NativePDB/stack_unwind

[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing Shell tests (PR #100476)

2024-07-24 Thread Kendal Harland via lldb-commits


@@ -12,6 +13,9 @@
 # RUN: %clang_host -g -O0 %S/Inputs/verbose_trap.cpp -o %t.out 
-DVERBOSE_TRAP_TEST_CATEGORY=\"\" -DVERBOSE_TRAP_TEST_MESSAGE=\"\"
 # RUN: %lldb -b -s %s %t.out | FileCheck %s --check-prefixes=CHECK,CHECK-NONE
 
+# RUN: %clang_host -g -O0 %S/Inputs/verbose_trap.cpp -o %t.out

kendalharland wrote:

Removed

https://github.com/llvm/llvm-project/pull/100476
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing Shell tests (PR #100476)

2024-07-24 Thread Kendal Harland via lldb-commits


@@ -1,3 +1,4 @@
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}

kendalharland wrote:

@JDevlieghere please LMK if the target triple can be expressed more clearly as 
a combination of other filters in `.test` files, here and throughout.

https://github.com/llvm/llvm-project/pull/100476
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing Shell/Driver tests (PR #100473)

2024-07-24 Thread Kendal Harland via lldb-commits

kendalharland wrote:

> How are these tests failing? Neither of them seem to be testing something 
> specific to x86_64 and presumably the test are passing on [the aarch64 
> windows buildbot](https://lab.llvm.org/buildbot/#/builders/141)?

I am currently seeing this output:

```
Testing:  0.. 10
FAIL: lldb-shell :: Driver/TestConvenienceVariables.test (48 of 2873)
 TEST 'lldb-shell :: Driver/TestConvenienceVariables.test' 
FAILED 
Script:
--
: 'RUN: at line 2';   mkdir -p 
S:\b\1\tools\lldb\test\Shell\Driver\Output\TestConvenienceVariables.test.tmp
: 'RUN: at line 3';   'C:\Program Files (x86)\Microsoft Visual 
Studio\Shared\Python39_64\python.exe' 
S:\SourceCache\llvm-project\lldb\test\Shell\helper\build.py --compiler=any 
--arch=64 --tools-dir=S:/b/1/./bin --libs-dir=S:/b/1/./lib 
S:\SourceCache\llvm-project\lldb\test\Shell\Driver/Inputs/hello.cpp -o 
S:\b\1\tools\lldb\test\Shell\Driver\Output\TestConvenienceVariables.test.tmp/target.out
: 'RUN: at line 4';   s:\b\1\bin\lldb.exe --no-lldbinit -S 
S:/b/1/tools/lldb\test\Shell\lit-lldb-init-quiet 
S:\b\1\tools\lldb\test\Shell\Driver\Output\TestConvenienceVariables.test.tmp/target.out
 -s S:\SourceCache\llvm-project\lldb\test\Shell\Driver/Inputs/convenience.in -o 
quit | s:\b\1\bin\filecheck.exe 
S:\SourceCache\llvm-project\lldb\test\Shell\Driver\TestConvenienceVariables.test
--
Exit Code: 1

Command Output (stdout):
--
$ ":" "RUN: at line 2"
note: command had no output on stdout or stderr
$ "mkdir" "-p" 
"S:\b\1\tools\lldb\test\Shell\Driver\Output\TestConvenienceVariables.test.tmp"
note: command had no output on stdout or stderr
$ ":" "RUN: at line 3"
note: command had no output on stdout or stderr
$ "C:\Program Files (x86)\Microsoft Visual 
Studio\Shared\Python39_64\python.exe" 
"S:\SourceCache\llvm-project\lldb\test\Shell\helper\build.py" "--compiler=any" 
"--arch=64" "--tools-dir=S:/b/1/./bin" "--libs-dir=S:/b/1/./lib" 
"S:\SourceCache\llvm-project\lldb\test\Shell\Driver/Inputs/hello.cpp" "-o" 
"S:\b\1\tools\lldb\test\Shell\Driver\Output\TestConvenienceVariables.test.tmp/target.out"
# command output:
Cleaning hello.ilk
Cleaning target.out-hello.obj
Cleaning target.pdb
Cleaning target.out



compiling hello.cpp -> target.out-hello.obj
  STDOUT:




linking target.out-hello.obj -> target.out
  STDOUT:


$ ":" "RUN: at line 4"
note: command had no output on stdout or stderr
$ "s:\b\1\bin\lldb.exe" "--no-lldbinit" "-S" 
"S:/b/1/tools/lldb\test\Shell\lit-lldb-init-quiet" 
"S:\b\1\tools\lldb\test\Shell\Driver\Output\TestConvenienceVariables.test.tmp/target.out"
 "-s" 
"S:\SourceCache\llvm-project\lldb\test\Shell\Driver/Inputs/convenience.in" "-o" 
"quit"
note: command had no output on stdout or stderr
$ "s:\b\1\bin\filecheck.exe" 
"S:\SourceCache\llvm-project\lldb\test\Shell\Driver\TestConvenienceVariables.test"
# command stderr:
S:\SourceCache\llvm-project\lldb\test\Shell\Driver\TestConvenienceVariables.test:6:8:
 error: CHECK: expected string not found in input
CHECK: stop reason = breakpoint 1.1
   ^
:1:1: note: scanning from here
(lldb) command source -s 0 'S:/b/1/tools/lldb\test\Shell\lit-lldb-init-quiet'
^
:13:14: note: possible intended match here
* thread #1, stop reason = breakpoint 1.2
 ^

Input file: 
Check file: 
S:\SourceCache\llvm-project\lldb\test\Shell\Driver\TestConvenienceVariables.test

-dump-input=help explains the following input dump.

Input was:
<<
   1: (lldb) command source -s 0 
'S:/b/1/tools/lldb\test\Shell\lit-lldb-init-quiet'
check:6'0 
X~ 
error: no match found
   2: Executing commands in 
'S:\b\1\tools\lldb\test\Shell\lit-lldb-init-quiet'.
check:6'0 
~~
   3: (lldb) command source -C --silent-run true lit-lldb-init
check:6'0 ~
   4: (lldb) target create 
"S:\\b\\1\\tools\\lldb\\test\\Shell\\Driver\\Output\\TestConvenienceVariables.test.tmp/target.out"
check:6'0 

   5: Current executable set to 
'S:\b\1\tools\lldb\test\Shell\Driver\Output\TestConvenienceVariables.test.tmp\target.out'
 (x86_64).
check:6'0 
~~
   6: (lldb) command source -s 0 
'S:\SourceCache\llvm-project\lldb\test\Shell\Driver/Inputs/convenience.in'
check:6'0 
~~
   7: Executing commands in 
'S:\SourceCache\llvm-project\lldb\test\Shell\Driver\Inputs\convenience.in'.
check:6'0 
~~

[Lldb-commits] [lldb] [lldb][test][x86_64][win] Set breakpoint condition on breakpoint instead of location in TestBreakpointConditions (PR #100487)

2024-07-24 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland created 
https://github.com/llvm/llvm-project/pull/100487

On windows x86_64 this test stops on the set breakpoint when `val == 1` when 
the breakpoint condition is set on the SBBreakpointLocation rather than the 
SBBreakpoint directly.  Setting the condition on the breakpoint itself, seems 
to fix the issue.

This PR also splits the test assertion that verifies we're on the correct line 
and have the correct value of `val` to make the error message more clear. At 
present it just shows `Assertion error: True != False`

https://github.com/llvm/llvm-project/issues/100486

>From 29d5a57eb8cc344e1a93787fe9cb333761923927 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Tue, 23 Jul 2024 10:24:24 -0700
Subject: [PATCH 1/2] [lldb][test][x86_64][win] Split TestBreakpointConditions
 assertion to clarify failure message

When this test fails we see an assertion error `False != True`
This clarifies the error by showing, for example, if `1 != 3` when
comparing `var` to the string "3".
---
 .../breakpoint_conditions/TestBreakpointConditions.py | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
index 50ba0317fd094..4e7a8ccb9fbeb 100644
--- 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
+++ 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
@@ -176,11 +176,15 @@ def breakpoint_conditions_python(self):
 thread.IsValid(),
 "There should be a thread stopped due to breakpoint condition",
 )
+
 frame0 = thread.GetFrameAtIndex(0)
 var = frame0.FindValue("val", lldb.eValueTypeVariableArgument)
-self.assertTrue(
-frame0.GetLineEntry().GetLine() == self.line1 and var.GetValue() 
== "3"
+self.assertEqual(
+frame0.GetLineEntry().GetLine(),
+self.line1,
+"The debugger stopped on the correct line",
 )
+self.assertEqual(var.GetValue(), "3")
 
 # The hit count for the breakpoint should be 1.
 self.assertEqual(breakpoint.GetHitCount(), 1)

>From 11ee9346ee8ef928e5f31982747557604ba8f91b Mon Sep 17 00:00:00 2001
From: kendal 
Date: Tue, 23 Jul 2024 10:47:26 -0700
Subject: [PATCH 2/2] [lldb][test][x86_64][win] TestBreakpointConditions set
 condition on breakpoint instead of location

On windows x86_64 this test seems to stop on the breakpoint when val ==
3 iff the condition is set on the breakpoint rather than the location.
Setting the condition on the breakpoint should work for all platforms,
but the fact that setting the condition on the location doens't work on
Windows x86_64 is considered a bug.
---
 .../breakpoint_conditions/TestBreakpointConditions.py   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
index 4e7a8ccb9fbeb..625ca916d20f1 100644
--- 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
+++ 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
@@ -155,13 +155,13 @@ def breakpoint_conditions_python(self):
 breakpoint.GetThreadIndex(), 1, "The thread index has been set 
correctly"
 )
 
+# Set the condition on the breakpoint.
+breakpoint.SetCondition("val == 3")
+
 # Get the breakpoint location from breakpoint after we verified that,
 # indeed, it has one location.
 location = breakpoint.GetLocationAtIndex(0)
 self.assertTrue(location and location.IsEnabled(), 
VALID_BREAKPOINT_LOCATION)
-
-# Set the condition on the breakpoint location.
-location.SetCondition("val == 3")
 self.expect(location.GetCondition(), exe=False, startstr="val == 3")
 
 # Now launch the process, and do not stop at entry point.

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][x86_64][win] Set breakpoint condition on breakpoint instead of location in TestBreakpointConditions (PR #100487)

2024-07-24 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/100487

>From 29d5a57eb8cc344e1a93787fe9cb333761923927 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Tue, 23 Jul 2024 10:24:24 -0700
Subject: [PATCH 1/2] [lldb][test][x86_64][win] Split TestBreakpointConditions
 assertion to clarify failure message

When this test fails we see an assertion error `False != True`
This clarifies the error by showing, for example, if `1 != 3` when
comparing `var` to the string "3".
---
 .../breakpoint_conditions/TestBreakpointConditions.py | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
index 50ba0317fd094..4e7a8ccb9fbeb 100644
--- 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
+++ 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
@@ -176,11 +176,15 @@ def breakpoint_conditions_python(self):
 thread.IsValid(),
 "There should be a thread stopped due to breakpoint condition",
 )
+
 frame0 = thread.GetFrameAtIndex(0)
 var = frame0.FindValue("val", lldb.eValueTypeVariableArgument)
-self.assertTrue(
-frame0.GetLineEntry().GetLine() == self.line1 and var.GetValue() 
== "3"
+self.assertEqual(
+frame0.GetLineEntry().GetLine(),
+self.line1,
+"The debugger stopped on the correct line",
 )
+self.assertEqual(var.GetValue(), "3")
 
 # The hit count for the breakpoint should be 1.
 self.assertEqual(breakpoint.GetHitCount(), 1)

>From 4285ea5e40b92d11748272b763a91b2de180bd24 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Tue, 23 Jul 2024 10:47:26 -0700
Subject: [PATCH 2/2] [lldb][test][x86_64][win] TestBreakpointConditions set
 condition on breakpoint instead of location

On windows x86_64 this test stops on the set breakpoint
when val == 1 when the breakpoint condition is set on the
SBBreakpointLocation rather than the SBBreakpoint directly.
Setting the condition on the breakpoint itself, seems to fix the issue.

This PR also splits the test assertion that verifies we're
on the correct line and have the correct value of val to make the
error message more clear. At present it just shows Assertion error: True != 
False
---
 .../TestBreakpointConditions.py   | 23 +++
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
index 4e7a8ccb9fbeb..d202c82ea12a1 100644
--- 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
+++ 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
@@ -21,6 +21,17 @@ def test_breakpoint_condition_inline_and_run_command(self):
 
 @add_test_categories(["pyapi"])
 def test_breakpoint_condition_and_python_api(self):
+"""Use Python APIs to set breakpoint conditions."""
+self.build()
+self.breakpoint_conditions_python(set_breakpoint_on_location=False)
+
+@add_test_categories(["pyapi"])
+@expectedFailureAll(
+oslist=["windows"],
+archs=["x86_64"],
+bugnumber="https://github.com/llvm/llvm-project/issues/100486";,
+)
+def test_breakpoint_condition_on_location_and_python_api(self):
 """Use Python APIs to set breakpoint conditions."""
 self.build()
 self.breakpoint_conditions_python()
@@ -124,7 +135,7 @@ def breakpoint_conditions(self, inline=False):
 
 self.runCmd("process kill")
 
-def breakpoint_conditions_python(self):
+def breakpoint_conditions_python(self, set_breakpoint_on_location=True):
 """Use Python APIs to set breakpoint conditions."""
 target = self.createTestTarget()
 
@@ -158,10 +169,14 @@ def breakpoint_conditions_python(self):
 # Get the breakpoint location from breakpoint after we verified that,
 # indeed, it has one location.
 location = breakpoint.GetLocationAtIndex(0)
-self.assertTrue(location and location.IsEnabled(), 
VALID_BREAKPOINT_LOCATION)
 
-# Set the condition on the breakpoint location.
-location.SetCondition("val == 3")
+# Set the condition.
+if set_breakpoint_on_location:
+location.SetCondition("val == 3")
+else:
+breakpoint.SetCondition("val == 3")
+
+self.assertTrue(location and location.IsEnabled(), 
VALID_BREAKPOINT_LOCATION)
 self.expect(location.GetCondition(), exe=False, startstr="val == 3")
 
 # Now launch the process, and do not stop at entry point.

__

[Lldb-commits] [lldb] [lldb][test][x86_64][win] Set breakpoint condition on breakpoint instead of location in TestBreakpointConditions (PR #100487)

2024-07-24 Thread Kendal Harland via lldb-commits

kendalharland wrote:

Uploaded a new patch set after realizing my original commit removed tests for 
the codepath where `SBBReakpointLocation.SetCondition` is used, which still 
needs to be tested on aarch64. The latest commit tests both 
`SBBreakpointLocation.SetCondition` and `SBBreakpoint.SetCondition`

https://github.com/llvm/llvm-project/pull/100487
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][x86_64][win] Set breakpoint condition on breakpoint instead of location in TestBreakpointConditions (PR #100487)

2024-07-24 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/100487

>From 29d5a57eb8cc344e1a93787fe9cb333761923927 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Tue, 23 Jul 2024 10:24:24 -0700
Subject: [PATCH 1/2] [lldb][test][x86_64][win] Split TestBreakpointConditions
 assertion to clarify failure message

When this test fails we see an assertion error `False != True`
This clarifies the error by showing, for example, if `1 != 3` when
comparing `var` to the string "3".
---
 .../breakpoint_conditions/TestBreakpointConditions.py | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
index 50ba0317fd094..4e7a8ccb9fbeb 100644
--- 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
+++ 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
@@ -176,11 +176,15 @@ def breakpoint_conditions_python(self):
 thread.IsValid(),
 "There should be a thread stopped due to breakpoint condition",
 )
+
 frame0 = thread.GetFrameAtIndex(0)
 var = frame0.FindValue("val", lldb.eValueTypeVariableArgument)
-self.assertTrue(
-frame0.GetLineEntry().GetLine() == self.line1 and var.GetValue() 
== "3"
+self.assertEqual(
+frame0.GetLineEntry().GetLine(),
+self.line1,
+"The debugger stopped on the correct line",
 )
+self.assertEqual(var.GetValue(), "3")
 
 # The hit count for the breakpoint should be 1.
 self.assertEqual(breakpoint.GetHitCount(), 1)

>From 25240b86822a3582d843a482fef16322f2fd7528 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Tue, 23 Jul 2024 10:47:26 -0700
Subject: [PATCH 2/2] [lldb][test][x86_64][win] TestBreakpointConditions set
 condition on breakpoint instead of location

On windows x86_64 this test stops on the set breakpoint
when val == 1 when the breakpoint condition is set on the
SBBreakpointLocation rather than the SBBreakpoint directly.
Setting the condition on the breakpoint itself, seems to fix the issue.

This PR also splits the test assertion that verifies we're
on the correct line and have the correct value of val to make the
error message more clear. At present it just shows Assertion error: True != 
False
---
 .../TestBreakpointConditions.py   | 23 +++
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
index 4e7a8ccb9fbeb..d202c82ea12a1 100644
--- 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
+++ 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
@@ -21,6 +21,17 @@ def test_breakpoint_condition_inline_and_run_command(self):
 
 @add_test_categories(["pyapi"])
 def test_breakpoint_condition_and_python_api(self):
+"""Use Python APIs to set breakpoint conditions."""
+self.build()
+self.breakpoint_conditions_python(set_breakpoint_on_location=False)
+
+@add_test_categories(["pyapi"])
+@expectedFailureAll(
+oslist=["windows"],
+archs=["x86_64"],
+bugnumber="https://github.com/llvm/llvm-project/issues/100486";,
+)
+def test_breakpoint_condition_on_location_and_python_api(self):
 """Use Python APIs to set breakpoint conditions."""
 self.build()
 self.breakpoint_conditions_python()
@@ -124,7 +135,7 @@ def breakpoint_conditions(self, inline=False):
 
 self.runCmd("process kill")
 
-def breakpoint_conditions_python(self):
+def breakpoint_conditions_python(self, set_breakpoint_on_location=True):
 """Use Python APIs to set breakpoint conditions."""
 target = self.createTestTarget()
 
@@ -158,10 +169,14 @@ def breakpoint_conditions_python(self):
 # Get the breakpoint location from breakpoint after we verified that,
 # indeed, it has one location.
 location = breakpoint.GetLocationAtIndex(0)
-self.assertTrue(location and location.IsEnabled(), 
VALID_BREAKPOINT_LOCATION)
 
-# Set the condition on the breakpoint location.
-location.SetCondition("val == 3")
+# Set the condition.
+if set_breakpoint_on_location:
+location.SetCondition("val == 3")
+else:
+breakpoint.SetCondition("val == 3")
+
+self.assertTrue(location and location.IsEnabled(), 
VALID_BREAKPOINT_LOCATION)
 self.expect(location.GetCondition(), exe=False, startstr="val == 3")
 
 # Now launch the process, and do not stop at entry point.

__

[Lldb-commits] [lldb] [lldb][test][x86_64][win] Set breakpoint condition on breakpoint instead of location in TestBreakpointConditions (PR #100487)

2024-07-24 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/100487

>From 29d5a57eb8cc344e1a93787fe9cb333761923927 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Tue, 23 Jul 2024 10:24:24 -0700
Subject: [PATCH 1/2] [lldb][test][x86_64][win] Split TestBreakpointConditions
 assertion to clarify failure message

When this test fails we see an assertion error `False != True`
This clarifies the error by showing, for example, if `1 != 3` when
comparing `var` to the string "3".
---
 .../breakpoint_conditions/TestBreakpointConditions.py | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
index 50ba0317fd094..4e7a8ccb9fbeb 100644
--- 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
+++ 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
@@ -176,11 +176,15 @@ def breakpoint_conditions_python(self):
 thread.IsValid(),
 "There should be a thread stopped due to breakpoint condition",
 )
+
 frame0 = thread.GetFrameAtIndex(0)
 var = frame0.FindValue("val", lldb.eValueTypeVariableArgument)
-self.assertTrue(
-frame0.GetLineEntry().GetLine() == self.line1 and var.GetValue() 
== "3"
+self.assertEqual(
+frame0.GetLineEntry().GetLine(),
+self.line1,
+"The debugger stopped on the correct line",
 )
+self.assertEqual(var.GetValue(), "3")
 
 # The hit count for the breakpoint should be 1.
 self.assertEqual(breakpoint.GetHitCount(), 1)

>From beef815e7d6a09c358b1a9cbed6242ddf160a599 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Tue, 23 Jul 2024 10:47:26 -0700
Subject: [PATCH 2/2] [lldb][test][x86_64][win] TestBreakpointConditions set
 condition on breakpoint instead of location

On windows x86_64 this test stops on the set breakpoint
when val == 1 when the breakpoint condition is set on the
SBBreakpointLocation rather than the SBBreakpoint directly.
Setting the condition on the breakpoint itself, seems to fix the issue.

This PR also splits the test assertion that verifies we're
on the correct line and have the correct value of val to make the
error message more clear. At present it just shows Assertion error: True != 
False
---
 .../TestBreakpointConditions.py   | 22 ---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
index 4e7a8ccb9fbeb..96d546c01236d 100644
--- 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
+++ 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
@@ -21,6 +21,17 @@ def test_breakpoint_condition_inline_and_run_command(self):
 
 @add_test_categories(["pyapi"])
 def test_breakpoint_condition_and_python_api(self):
+"""Use Python APIs to set breakpoint conditions."""
+self.build()
+self.breakpoint_conditions_python(set_breakpoint_on_location=False)
+
+@add_test_categories(["pyapi"])
+@expectedFailureAll(
+oslist=["windows"],
+archs=["x86_64"],
+bugnumber="https://github.com/llvm/llvm-project/issues/100486";,
+)
+def test_breakpoint_condition_on_location_and_python_api(self):
 """Use Python APIs to set breakpoint conditions."""
 self.build()
 self.breakpoint_conditions_python()
@@ -124,7 +135,7 @@ def breakpoint_conditions(self, inline=False):
 
 self.runCmd("process kill")
 
-def breakpoint_conditions_python(self):
+def breakpoint_conditions_python(self, set_breakpoint_on_location=True):
 """Use Python APIs to set breakpoint conditions."""
 target = self.createTestTarget()
 
@@ -160,8 +171,13 @@ def breakpoint_conditions_python(self):
 location = breakpoint.GetLocationAtIndex(0)
 self.assertTrue(location and location.IsEnabled(), 
VALID_BREAKPOINT_LOCATION)
 
-# Set the condition on the breakpoint location.
-location.SetCondition("val == 3")
+# Set the condition.
+if set_breakpoint_on_location:
+location.SetCondition("val == 3")
+else:
+breakpoint.SetCondition("val == 3")
+
+self.assertTrue(location and location.IsEnabled(), 
VALID_BREAKPOINT_LOCATION)
 self.expect(location.GetCondition(), exe=False, startstr="val == 3")
 
 # Now launch the process, and do not stop at entry point.

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailm

[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing API tests (PR #100477)

2024-07-25 Thread Kendal Harland via lldb-commits


@@ -18,7 +18,7 @@ def test_set_use_source_cache_false(self):
 self.set_use_source_cache_and_test(False)
 
 @skipIf(hostoslist=no_match(["windows"]))
-@skipIf(oslist=["windows"])  # Fails on windows 11
+@expectedFailureAll(oslist=["windows"])

kendalharland wrote:

Re: @DavidSpickett comment below. I am using the lldb-aarch64-windows builder 
as an example:

- Run in cmd.exe
- LLDB_TEST_COMPILER is the newly built clang-cl (top-level build uses host's 
MSVC)
- `--skip-test-category=watchpoint`
- LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS=ON
- Python 3.9

My host system:
- Win 11 Home Version 10.0.22631 Build 22631
- Dell XPS 8960

I haven't explicitly disabled hardware code breakpoints. What is the default 
and how do I do that?

https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing API tests (PR #100477)

2024-07-25 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing API tests (PR #100477)

2024-07-25 Thread Kendal Harland via lldb-commits


@@ -18,7 +18,7 @@ def test_set_use_source_cache_false(self):
 self.set_use_source_cache_and_test(False)
 
 @skipIf(hostoslist=no_match(["windows"]))
-@skipIf(oslist=["windows"])  # Fails on windows 11
+@expectedFailureAll(oslist=["windows"])

kendalharland wrote:

To reproduce my local build if you have access to a machine and a clean 
checkout llvm/llvm-project: Run this in a developer command prompt in the root 
of the checkout:

```
set MSVC_INSTALL_DIR=C:\Program Files\Microsoft Visual Studio\2022\Community
set "PATH=%MSVC_INSTALL_DIR%\DIA SDK\bin\amd64;%PATH%"

cmake -G Ninja ^
  -S llvm ^
  -B build ^
  -D Python3_EXECUTABLE="C:\Program Files\Python312\python.exe" ^
  -D CMAKE_C_COMPILER="cl" ^
  -D CMAKE_CXX_COMPILER="cl" ^
  -D CMAKE_C_COMPILER_LAUNCHER=ccache ^
  -D CMAKE_CXX_COMPILER_LAUNCHER=ccache ^
  -D CMAKE_BUILD_TYPE="Release" ^
  -D CMAKE_LINKER="C:\Program Files\Microsoft Visual 
Studio\2022\Community\VC\Tools\Llvm\x64\bin\lld-link.exe" ^
  -D LLVM_ENABLE_PROJECTS="clang;lldb;lld" ^
  -D LLVM_HOST_TRIPLE="x86_64-unknown-windows-msvc" ^
  -D LLVM_ENABLE_LLD="YES" ^
  -D LLVM_ENABLE_LIBEDIT="NO" ^
  -D LLVM_ENABLE_DIA_SDK="OFF" ^
  -D LLDB_ENABLE_PYTHON=1 ^
  -D LLDB_PYTHON_EXE_RELATIVE_PATH="python.exe" ^
  -D LLDB_TEST_USER_ARGS=--skip-category=watchpoint ^
  -D LLDB_TEST_COMPILER="clang-cl" ^
  -D LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS=1 ^
  -D LLDB_USE_LLDB_SERVER=1 ^
  -D CMAKE_CXX_STANDARD=14
```

https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing API tests (PR #100477)

2024-07-25 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing API tests (PR #100477)

2024-07-25 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Remove python helper getCompilerBinary() (PR #100660)

2024-07-25 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland created 
https://github.com/llvm/llvm-project/pull/100660

This causes a number of tests be `UNRESOLVED` on Windows if `getCompiler()` has 
a space in the name, because `getCompilerBinary()` unconditionally splits on 
whitespace and returns the first result, which might just be`"C:\Program"` if 
using a compiler such as `clang-cl` `cl` from Visual studio's installation 
directory.

>From c779fac5e7f5fbabaa79c98b31e20e7d567d1cd7 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Thu, 25 Jul 2024 14:59:25 -0700
Subject: [PATCH] [lldb][test] Remove getCompilerBinary() helper

---
 lldb/packages/Python/lldbsuite/test/lldbplatformutil.py | 7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py 
b/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
index e3c6fd1a99568..0bbe1db424630 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
@@ -266,16 +266,11 @@ def getCompiler():
 return module.getCompiler()
 
 
-def getCompilerBinary():
-"""Returns the compiler binary the test suite is running with."""
-return getCompiler().split()[0]
-
-
 def getCompilerVersion():
 """Returns a string that represents the compiler version.
 Supports: llvm, clang.
 """
-compiler = getCompilerBinary()
+compiler = getCompiler()
 version_output = subprocess.check_output([compiler, "--version"], 
errors="replace")
 m = re.search("version ([0-9.]+)", version_output)
 if m:

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing API tests (PR #100477)

2024-07-25 Thread Kendal Harland via lldb-commits


@@ -18,7 +18,7 @@ def test_set_use_source_cache_false(self):
 self.set_use_source_cache_and_test(False)
 
 @skipIf(hostoslist=no_match(["windows"]))
-@skipIf(oslist=["windows"])  # Fails on windows 11
+@expectedFailureAll(oslist=["windows"])

kendalharland wrote:

I made the following changes and I'm seeing far fewer failing tests now:
- `LLDB_TEST_COMPILER` - leave this unset
- `CMAKE_C_COMPILER="C:\Program Files\Microsoft Visual 
Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-cl.exe"`
- `CMAKE_CXX_COMPILER="C:\Program Files\Microsoft Visual 
Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-cl.exe"`

In short the compilers I was using caused many of the tests to fail.  I am only 
seeing around 17 failures now in a clean checkout and will fix this one up. 
Thanks for the course correction!

https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] Remove python helper getCompilerBinary() (PR #100660)

2024-07-25 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100660
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing API tests (PR #100477)

2024-07-25 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/100477

>From 5a32aac6f71c24bc111a1139b69a7568203dae69 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Thu, 25 Jul 2024 15:26:38 -0700
Subject: [PATCH] [lldb][test][win][x86_64] Remove XFAIL from passing API tests

---
 .../API/functionalities/multiple-slides/TestMultipleSlides.py   | 1 +
 .../API/functionalities/step-avoids-no-debug/TestStepNoDebug.py | 1 -
 .../TestClassTemplateNonTypeParameterPack.py| 2 +-
 .../TestClassTemplateTypeParameterPack.py   | 2 +-
 lldb/test/API/python_api/thread/TestThreadAPI.py| 1 +
 5 files changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/lldb/test/API/functionalities/multiple-slides/TestMultipleSlides.py 
b/lldb/test/API/functionalities/multiple-slides/TestMultipleSlides.py
index 3d6b27fe68a1b..85fc4493d588b 100644
--- a/lldb/test/API/functionalities/multiple-slides/TestMultipleSlides.py
+++ b/lldb/test/API/functionalities/multiple-slides/TestMultipleSlides.py
@@ -12,6 +12,7 @@
 class MultipleSlidesTestCase(TestBase):
 NO_DEBUG_INFO_TESTCASE = True
 
+@expectedFailureAll(oslist=["windows"], archs=["x86_64"])
 def test_mulitple_slides(self):
 """Test that a binary can be slid multiple times correctly."""
 self.build()
diff --git 
a/lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py 
b/lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
index a5ec87274a5ba..e80318b45dea4 100644
--- a/lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
+++ b/lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
@@ -2,7 +2,6 @@
 Test thread step-in, step-over and step-out work with the "Avoid no debug" 
option.
 """
 
-
 import lldb
 from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
diff --git 
a/lldb/test/API/lang/cpp/class-template-non-type-parameter-pack/TestClassTemplateNonTypeParameterPack.py
 
b/lldb/test/API/lang/cpp/class-template-non-type-parameter-pack/TestClassTemplateNonTypeParameterPack.py
index 9e484e0132c83..1155f7ea44e7a 100644
--- 
a/lldb/test/API/lang/cpp/class-template-non-type-parameter-pack/TestClassTemplateNonTypeParameterPack.py
+++ 
b/lldb/test/API/lang/cpp/class-template-non-type-parameter-pack/TestClassTemplateNonTypeParameterPack.py
@@ -6,7 +6,7 @@
 
 class TestCaseClassTemplateNonTypeParameterPack(TestBase):
 @expectedFailureAll(
-oslist=["windows"], archs=["i[3-6]86", "x86_64"]
+oslist=["windows"], archs=["i[3-6]86"]
 )  # Fails to read memory from target.
 @no_debug_info_test
 def test(self):
diff --git 
a/lldb/test/API/lang/cpp/class-template-type-parameter-pack/TestClassTemplateTypeParameterPack.py
 
b/lldb/test/API/lang/cpp/class-template-type-parameter-pack/TestClassTemplateTypeParameterPack.py
index 102c00dc603df..efc609e843802 100644
--- 
a/lldb/test/API/lang/cpp/class-template-type-parameter-pack/TestClassTemplateTypeParameterPack.py
+++ 
b/lldb/test/API/lang/cpp/class-template-type-parameter-pack/TestClassTemplateTypeParameterPack.py
@@ -6,7 +6,7 @@
 
 class TestCaseClassTemplateTypeParameterPack(TestBase):
 @expectedFailureAll(
-oslist=["windows"], archs=["i[3-6]86", "x86_64"]
+oslist=["windows"], archs=["i[3-6]86"]
 )  # Fails to read memory from target.
 @no_debug_info_test
 def test(self):
diff --git a/lldb/test/API/python_api/thread/TestThreadAPI.py 
b/lldb/test/API/python_api/thread/TestThreadAPI.py
index 1898c6a2a9792..eeac804e921f4 100644
--- a/lldb/test/API/python_api/thread/TestThreadAPI.py
+++ b/lldb/test/API/python_api/thread/TestThreadAPI.py
@@ -52,6 +52,7 @@ def test_negative_indexing(self):
 self.build()
 self.validate_negative_indexing()
  
+@expectedFailureAll(oslist=["windows"], archs=["x86_64"])
 def test_StepInstruction(self):
 """Test that StepInstruction preserves the plan stack."""
 self.build()

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing API tests (PR #100477)

2024-07-25 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/100477

>From ac737efe9cb7d9fa690a6dfaa8ba7c6e006913c1 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Thu, 25 Jul 2024 15:52:47 -0700
Subject: [PATCH] [lldb][test][win][x86_64] XFAIL already failing API tests

These test are passing locally on win x86_64 using the following
configuration (some options ellided for brevity)

CMAKE_C_COMPILER clang-cl.exe
CMAKE_CXX_COMPILER   clang-cl.exe
CMAKE_BUILD_TYPE Release
CMAKE_LINKER lld-link.exe
LLVM_HOST_TRIPLE="x86_64-unknown-windows-msvc"
LLDB_TEST_USER_ARGS=--skip-category=watchpoint
LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS=1
---
 .../API/functionalities/multiple-slides/TestMultipleSlides.py   | 1 +
 .../TestClassTemplateNonTypeParameterPack.py| 2 +-
 .../TestClassTemplateTypeParameterPack.py   | 2 +-
 lldb/test/API/python_api/thread/TestThreadAPI.py| 1 +
 4 files changed, 4 insertions(+), 2 deletions(-)

diff --git 
a/lldb/test/API/functionalities/multiple-slides/TestMultipleSlides.py 
b/lldb/test/API/functionalities/multiple-slides/TestMultipleSlides.py
index 3d6b27fe68a1b..85fc4493d588b 100644
--- a/lldb/test/API/functionalities/multiple-slides/TestMultipleSlides.py
+++ b/lldb/test/API/functionalities/multiple-slides/TestMultipleSlides.py
@@ -12,6 +12,7 @@
 class MultipleSlidesTestCase(TestBase):
 NO_DEBUG_INFO_TESTCASE = True
 
+@expectedFailureAll(oslist=["windows"], archs=["x86_64"])
 def test_mulitple_slides(self):
 """Test that a binary can be slid multiple times correctly."""
 self.build()
diff --git 
a/lldb/test/API/lang/cpp/class-template-non-type-parameter-pack/TestClassTemplateNonTypeParameterPack.py
 
b/lldb/test/API/lang/cpp/class-template-non-type-parameter-pack/TestClassTemplateNonTypeParameterPack.py
index 9e484e0132c83..1155f7ea44e7a 100644
--- 
a/lldb/test/API/lang/cpp/class-template-non-type-parameter-pack/TestClassTemplateNonTypeParameterPack.py
+++ 
b/lldb/test/API/lang/cpp/class-template-non-type-parameter-pack/TestClassTemplateNonTypeParameterPack.py
@@ -6,7 +6,7 @@
 
 class TestCaseClassTemplateNonTypeParameterPack(TestBase):
 @expectedFailureAll(
-oslist=["windows"], archs=["i[3-6]86", "x86_64"]
+oslist=["windows"], archs=["i[3-6]86"]
 )  # Fails to read memory from target.
 @no_debug_info_test
 def test(self):
diff --git 
a/lldb/test/API/lang/cpp/class-template-type-parameter-pack/TestClassTemplateTypeParameterPack.py
 
b/lldb/test/API/lang/cpp/class-template-type-parameter-pack/TestClassTemplateTypeParameterPack.py
index 102c00dc603df..efc609e843802 100644
--- 
a/lldb/test/API/lang/cpp/class-template-type-parameter-pack/TestClassTemplateTypeParameterPack.py
+++ 
b/lldb/test/API/lang/cpp/class-template-type-parameter-pack/TestClassTemplateTypeParameterPack.py
@@ -6,7 +6,7 @@
 
 class TestCaseClassTemplateTypeParameterPack(TestBase):
 @expectedFailureAll(
-oslist=["windows"], archs=["i[3-6]86", "x86_64"]
+oslist=["windows"], archs=["i[3-6]86"]
 )  # Fails to read memory from target.
 @no_debug_info_test
 def test(self):
diff --git a/lldb/test/API/python_api/thread/TestThreadAPI.py 
b/lldb/test/API/python_api/thread/TestThreadAPI.py
index 1898c6a2a9792..eeac804e921f4 100644
--- a/lldb/test/API/python_api/thread/TestThreadAPI.py
+++ b/lldb/test/API/python_api/thread/TestThreadAPI.py
@@ -52,6 +52,7 @@ def test_negative_indexing(self):
 self.build()
 self.validate_negative_indexing()
  
+@expectedFailureAll(oslist=["windows"], archs=["x86_64"])
 def test_StepInstruction(self):
 """Test that StepInstruction preserves the plan stack."""
 self.build()

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing API tests (PR #100477)

2024-07-25 Thread Kendal Harland via lldb-commits

kendalharland wrote:

Thanks for the assistance @labath and @DavidSpickett. After fixing my cmake 
configuration I'm actually seeing a few tests unexpectedly pass with different 
options:

CMAKE_C_COMPILER clang-cl.exe
CMAKE_CXX_COMPILER   clang-cl.exe
CMAKE_BUILD_TYPE Release
CMAKE_LINKER lld-link.exe
LLVM_HOST_TRIPLE x86_64-unknown-windows-msvc
LLDB_TEST_USER_ARGS  --skip-category=watchpoint
LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS 1

Updated in the latest commit

https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] Remove XFAIL from XPASS'ing API tests (PR #100477)

2024-07-25 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] Remove XFAIL from XPASS'ing API tests (PR #100477)

2024-07-25 Thread Kendal Harland via lldb-commits


@@ -52,6 +52,7 @@ def test_negative_indexing(self):
 self.build()
 self.validate_negative_indexing()
  
+@expectedFailureAll(oslist=["windows"], archs=["x86_64"])

kendalharland wrote:

I am still seeing this test fail with:
```
==
FAIL: test_StepInstruction_dwarf 
(TestThreadAPI.ThreadAPITestCase.test_StepInstruction_dwarf)
Test that StepInstruction preserves the plan stack.
--
Traceback (most recent call last):
  File 
"C:\workspace\llvm-project\lldb\packages\Python\lldbsuite\test\lldbtest.py", 
line 1756, in test_method
return attrvalue(self)
   ^^^
  File 
"C:\workspace\llvm-project\lldb\test\API\python_api\thread\TestThreadAPI.py", 
line 58, in test_StepInstruction
self.step_instruction_in_called_function()
  File 
"C:\workspace\llvm-project\lldb\test\API\python_api\thread\TestThreadAPI.py", 
line 334, in step_instruction_in_called_function
self.assertRegex(
AssertionError: Regex didn't match: '.*call_me\\(bool\\)$' not found in 'main' 
: Stopped in call_me(bool)
Config=x86_64-C:\workspace\llvm-project\build\bin\clang.exe
--

https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] Remove XFAIL from XPASS'ing API tests (PR #100477)

2024-07-25 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] FIx XFAIL and XPASS on LLDB API tests (PR #100477)

2024-07-25 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] Fix XFAIL and XPASS on LLDB API tests (PR #100477)

2024-07-25 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb] Remove python helper getCompilerBinary() (PR #100660)

2024-07-26 Thread Kendal Harland via lldb-commits

kendalharland wrote:

> Seems fine to me, but there is a use of it in 
> `lldb/packages/Python/lldbsuite/test/lldbtest.py` that should also be removed.

Not sure how I missed that one. Ty!

https://github.com/llvm/llvm-project/pull/100660
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb] Remove python helper getCompilerBinary() (PR #100660)

2024-07-26 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/100660

>From 6769752234f67ac693ea7345393fd9d72fa4a567 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Thu, 25 Jul 2024 14:59:25 -0700
Subject: [PATCH] [lldb][test] Remove getCompilerBinary() helper

---
 .../packages/Python/lldbsuite/test/lldbplatformutil.py | 10 +++---
 lldb/packages/Python/lldbsuite/test/lldbtest.py|  4 
 2 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py 
b/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
index e3c6fd1a99568..602e15d207e94 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
@@ -266,17 +266,13 @@ def getCompiler():
 return module.getCompiler()
 
 
-def getCompilerBinary():
-"""Returns the compiler binary the test suite is running with."""
-return getCompiler().split()[0]
-
-
 def getCompilerVersion():
 """Returns a string that represents the compiler version.
 Supports: llvm, clang.
 """
-compiler = getCompilerBinary()
-version_output = subprocess.check_output([compiler, "--version"], 
errors="replace")
+version_output = subprocess.check_output(
+[getCompiler(), "--version"], errors="replace"
+)
 m = re.search("version ([0-9.]+)", version_output)
 if m:
 return m.group(1)
diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py 
b/lldb/packages/Python/lldbsuite/test/lldbtest.py
index 5e50b0c145885..f97c41d867e78 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -1379,10 +1379,6 @@ def getCompiler(self):
 """Returns the compiler in effect the test suite is running with."""
 return lldbplatformutil.getCompiler()
 
-def getCompilerBinary(self):
-"""Returns the compiler binary the test suite is running with."""
-return lldbplatformutil.getCompilerBinary()
-
 def getCompilerVersion(self):
 """Returns a string that represents the compiler version.
 Supports: llvm, clang.

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb] Remove python helper getCompilerBinary() (PR #100660)

2024-07-26 Thread Kendal Harland via lldb-commits

kendalharland wrote:

Thanks for the reviews! I'll need help merging from someone with write access

https://github.com/llvm/llvm-project/pull/100660
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][x86_64][win] Set breakpoint condition on breakpoint instead of location in TestBreakpointConditions (PR #100487)

2024-07-26 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland updated 
https://github.com/llvm/llvm-project/pull/100487

>From 29d5a57eb8cc344e1a93787fe9cb333761923927 Mon Sep 17 00:00:00 2001
From: kendal 
Date: Tue, 23 Jul 2024 10:24:24 -0700
Subject: [PATCH] [lldb][test][x86_64][win] Split TestBreakpointConditions
 assertion to clarify failure message

When this test fails we see an assertion error `False != True`
This clarifies the error by showing, for example, if `1 != 3` when
comparing `var` to the string "3".
---
 .../breakpoint_conditions/TestBreakpointConditions.py | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
index 50ba0317fd094..4e7a8ccb9fbeb 100644
--- 
a/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
+++ 
b/lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
@@ -176,11 +176,15 @@ def breakpoint_conditions_python(self):
 thread.IsValid(),
 "There should be a thread stopped due to breakpoint condition",
 )
+
 frame0 = thread.GetFrameAtIndex(0)
 var = frame0.FindValue("val", lldb.eValueTypeVariableArgument)
-self.assertTrue(
-frame0.GetLineEntry().GetLine() == self.line1 and var.GetValue() 
== "3"
+self.assertEqual(
+frame0.GetLineEntry().GetLine(),
+self.line1,
+"The debugger stopped on the correct line",
 )
+self.assertEqual(var.GetValue(), "3")
 
 # The hit count for the breakpoint should be 1.
 self.assertEqual(breakpoint.GetHitCount(), 1)

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][x86_64][win] Set breakpoint condition on breakpoint instead of location in TestBreakpointConditions (PR #100487)

2024-07-26 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100487
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][x86_64][win] Set breakpoint condition on breakpoint instead of location in TestBreakpointConditions (PR #100487)

2024-07-26 Thread Kendal Harland via lldb-commits

kendalharland wrote:

> The only way that this could succeed on the breakpoint but fail on the 
> location is that there is more than one location and the one the test is 
> setting it on (the zeroth) is not the one that's hit. Since this test is 
> "does a breakpoint condition on a location work" not "does this breakpoint 
> always only produce one location" it might be better to just put the 
> breakpoint on all the locations, and see if the one that is hit does work.

Thanks for the context! In this PR I learned that the set of compilers I was 
using to build LLVM are different from the existing lldb-aarch64-windows 
builder. After fixing that, I am no longer seeing this test fail. I've removed 
the top commit and left only the one that splits the test assertion to produce 
a more clear failure message.

https://github.com/llvm/llvm-project/pull/100487
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][x86_64][win] Split assertion TestBreakpointConditions (PR #100487)

2024-07-26 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100487
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][x86_64][win] Split assertion in TestBreakpointConditions (PR #100487)

2024-07-26 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100487
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] Fix XFAIL and XPASS on LLDB API tests (PR #100477)

2024-07-26 Thread Kendal Harland via lldb-commits


@@ -52,6 +52,7 @@ def test_negative_indexing(self):
 self.build()
 self.validate_negative_indexing()
  
+@expectedFailureAll(oslist=["windows"], archs=["x86_64"])

kendalharland wrote:

Thanks! I'll try that and update here.

https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] Fix XFAIL and XPASS on LLDB API tests (PR #100477)

2024-07-26 Thread Kendal Harland via lldb-commits


@@ -12,6 +12,7 @@
 class MultipleSlidesTestCase(TestBase):
 NO_DEBUG_INFO_TESTCASE = True
 
+@expectedFailureAll(oslist=["windows"], archs=["x86_64"])

kendalharland wrote:

Ty! I'll try that out.

https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing Shell tests (PR #100476)

2024-07-26 Thread Kendal Harland via lldb-commits


@@ -1,3 +1,4 @@
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}

kendalharland wrote:

@DavidSpickett would you be able to share the CMake configuration your native 
Windows native CI is using? I'm having trouble spotting what's wrong with my 
local build. 

https://github.com/llvm/llvm-project/pull/100476
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing Shell tests (PR #100476)

2024-07-26 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100476
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing Shell tests (PR #100476)

2024-07-26 Thread Kendal Harland via lldb-commits

https://github.com/kendalharland edited 
https://github.com/llvm/llvm-project/pull/100476
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing Shell tests (PR #100476)

2024-07-26 Thread Kendal Harland via lldb-commits


@@ -1,3 +1,4 @@
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}

kendalharland wrote:

For reference, my current setup steps are the following commands run in a 
non-admin cmd.exe

```
C:\Program Files\Microsoft Visual 
Studio\2022\Community\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64
C:\Program Files\Microsoft Visual 
Studio\2022\Community\Common7\Tools\VsDevCmd.bat -test

set LLDB_USE_LLDB_SERVER=1
set MSVC_INSTALL_DIR=C:\Program Files\Microsoft Visual Studio\2022\Community
set "PATH=%MSVC_INSTALL_DIR%\DIA SDK\bin\amd64;%PATH%"
set "PATH=%MSVC_INSTALL_DIR%\VC\Tools\Llvm\x64\bin;%PATH%"

cmake -G Ninja ^
  -S llvm ^
  -B build ^
  -D Python3_EXECUTABLE="C:\Program Files\Python312\python.exe" ^
  -D CMAKE_C_COMPILER="C:\Program Files\Microsoft Visual 
Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-cl.exe" ^
  -D CMAKE_CXX_COMPILER="C:\Program Files\Microsoft Visual 
Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang-cl.exe" ^
  -D CMAKE_C_COMPILER_LAUNCHER=ccache ^
  -D CMAKE_CXX_COMPILER_LAUNCHER=ccache ^
  -D CMAKE_BUILD_TYPE="Release" ^
  -D CMAKE_LINKER="C:\Program Files\Microsoft Visual 
Studio\2022\Community\VC\Tools\Llvm\x64\bin\lld-link.exe" ^
  -D LLVM_ENABLE_PROJECTS="clang;lldb;lld" ^
  -D LLVM_HOST_TRIPLE="x86_64-unknown-windows-msvc" ^
  -D LLVM_ENABLE_LLD="YES" ^
  -D LLVM_ENABLE_LIBEDIT="NO" ^
  -D LLVM_ENABLE_DIA_SDK="OFF" ^
  -D LLDB_ENABLE_PYTHON=1 ^
  -D LLDB_PYTHON_EXE_RELATIVE_PATH="python.exe" ^
  -D LLDB_TEST_USER_ARGS=--skip-category=watchpoint ^
  -D LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS=1 ^
  -D CMAKE_CXX_STANDARD=14

ninja -C build check-lldb
```

https://github.com/llvm/llvm-project/pull/100476
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb][test][win][x86_64] XFAIL already failing Shell/Driver tests (PR #100473)

2024-07-26 Thread Kendal Harland via lldb-commits

kendalharland wrote:

> > ```
> > S:\SourceCache\llvm-project\lldb\test\Shell\Driver\TestConvenienceVariables.test:6:8:
> >  error: CHECK: expected string not found in input
> > CHECK: stop reason = breakpoint 1.1
> >^
> > :1:1: note: scanning from here
> > (lldb) command source -s 0 
> > 'S:/b/1/tools/lldb\test\Shell\lit-lldb-init-quiet'
> > ^
> > :13:14: note: possible intended match here
> > * thread #1, stop reason = breakpoint 1.2
> >  ^
> > ```
> > 
> > 
> > 
> >   
> > 
> > 
> >   
> > 
> > 
> > 
> >   
> > I think it's just that it expected 1.1 and got 1.2. I don't know what the 
> > bit after the point means, is it the location? So this did `breakpoint set 
> > -f hello.cpp -p Hello` and somehow `1 location added to breakpoint 1` but 
> > yet it hit a second location?
> > Which doesn't make sense so maybe the `.2` means something else.
> 
> That's exactly what it means. The breakpoint gets one location when its set 
> (the process is not running yet):
> 
> > ```
> >   9: Breakpoint 1: where = target.out`main + 21 at hello.cpp:4, address 
> > = 0x000140001015
> > ```
> 
> and then another when when it runs:
> 
> > ```
> >   11: 1 location added to breakpoint 1
> > ```
> 
> Although this test doesn't really care about the number of breakpoint 
> locations (so we could just delete the `.1` part), I am wondering if this 
> isn't a symptom of a larger problem. Can you try running these commands 
> manually and print more information about the state of the process (for 
> starters, the output of `image list` and `breakpoint list -v` both before and 
> after `run` command).
> 
> Also, the duplicate location reminds me of some similar situations where we 
> (used to?) fail to correctly unique modules in presence of symlinks and 
> stuff. What can you tell us about the path 
> (`S:\b\1\tools\lldb\test\Shell\Driver\Output\TestConvenienceVariables.test.tmp\target.out`)
>  where this binary is running from? Does it contain any symlinks (junctions), 
> funky drive mappins or anything else that would make the file appear to have 
> multiple paths?

After https://github.com/llvm/llvm-project/pull/100477 I learned that my CMake 
configuration is largely to blame for most of the failures I was observing. 
TestConvenienceVariables.test is now passing for me and I am investigating why 
TestSingleQuote.test is still failing.  I will fold this change into 
https://github.com/llvm/llvm-project/pull/100476 and work with @dzhidzhoev to 
figure out why my build results do match those in his Windows Native CI and 
those in lldb-aarch-windows first.

https://github.com/llvm/llvm-project/pull/100473
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


  1   2   >