https://github.com/DavidSpickett created 
https://github.com/llvm/llvm-project/pull/137351

The new test added in https://github.com/llvm/llvm-project/pull/132783 was 
failing on Windows because it created a new error to say it did not support the 
feature, but then returned the existing, default constructed error. Which was a 
success value.

This also changes the GDBRemote error message to the same phrasing used in all 
the other places so we don't have to special case any platform.

>From 75ec9f551c34a8684b65352f7890a8c16566dccb Mon Sep 17 00:00:00 2001
From: David Spickett <david.spick...@linaro.org>
Date: Fri, 25 Apr 2025 15:46:41 +0000
Subject: [PATCH] [lldb] Fix error that lead Windows to think it could reverse
 execute

The new test added in https://github.com/llvm/llvm-project/pull/132783
was failing on Windows because it created a new error to say it did
not support the feature, but then returned the existing, default
constructed error. Which was a success value.

This also changes the GDBRemote error message to the same phrasing used
in all the other places so we don't have to special case any platform.
---
 .../Plugins/Process/Windows/Common/ProcessWindows.cpp       | 6 +++---
 lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | 2 +-
 .../reverse-continue/TestReverseContinueNotSupported.py     | 5 +++--
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp 
b/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
index 9196ac2702c85..331139d029f50 100644
--- a/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
+++ b/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
@@ -239,15 +239,15 @@ ProcessWindows::DoAttachToProcessWithID(lldb::pid_t pid,
 Status ProcessWindows::DoResume(RunDirection direction) {
   Log *log = GetLog(WindowsLog::Process);
   llvm::sys::ScopedLock lock(m_mutex);
-  Status error;
 
   if (direction == RunDirection::eRunReverse) {
-    error.FromErrorStringWithFormatv(
+    return Status::FromErrorStringWithFormatv(
         "error: {0} does not support reverse execution of processes",
         GetPluginName());
-    return error;
   }
 
+  Status error;
+
   StateType private_state = GetPrivateState();
   if (private_state == eStateStopped || private_state == eStateCrashed) {
     LLDB_LOG(log, "process {0} is in state {1}.  Resuming...",
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp 
b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index b616e99be83b2..f924d1194e8a1 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -1410,7 +1410,7 @@ Status ProcessGDBRemote::DoResume(RunDirection direction) 
{
           LLDB_LOGF(log, "ProcessGDBRemote::DoResume: target does not "
                          "support reverse-continue");
           return Status::FromErrorString(
-              "target does not support reverse-continue");
+              "target does not support reverse execution of processes");
         }
 
         if (num_continue_C_tids > 0) {
diff --git 
a/lldb/test/API/commands/process/reverse-continue/TestReverseContinueNotSupported.py
 
b/lldb/test/API/commands/process/reverse-continue/TestReverseContinueNotSupported.py
index 54d757dc4b98b..167d5827bff55 100644
--- 
a/lldb/test/API/commands/process/reverse-continue/TestReverseContinueNotSupported.py
+++ 
b/lldb/test/API/commands/process/reverse-continue/TestReverseContinueNotSupported.py
@@ -11,7 +11,6 @@
 
 
 class TestReverseContinueNotSupported(TestBase):
-    @skipIfWindows
     def test_reverse_continue_not_supported(self):
         target = self.connect()
 
@@ -26,7 +25,9 @@ def test_reverse_continue_not_supported(self):
         self.expect(
             "process continue --reverse",
             error=True,
-            substrs=["target does not support reverse-continue"],
+            # This error is "<plugin name> does not support...". The plugin 
name changes
+            # between platforms.
+            substrs=["does not support reverse execution of processes"],
         )
 
     def test_reverse_continue_forward_and_reverse(self):

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

Reply via email to