[Lldb-commits] [lldb] 5223366 - [lldb] Fix SBFileSpec.fullpath for Windows

Dave Lee via lldb-commits lldb-commits at lists.llvm.org
Fri Nov 11 16:07:48 PST 2022


Author: Dave Lee
Date: 2022-11-11T16:07:38-08:00
New Revision: 5223366416fbde8ac5d53c586c985bffac9cb168

URL: https://github.com/llvm/llvm-project/commit/5223366416fbde8ac5d53c586c985bffac9cb168
DIFF: https://github.com/llvm/llvm-project/commit/5223366416fbde8ac5d53c586c985bffac9cb168.diff

LOG: [lldb] Fix SBFileSpec.fullpath for Windows

Fix `fullpath` to not assume a `/` path separator. This was discovered when
D133130 failed on Windows. Use `os.path.join()` to fix the issue.

Reviewed By: mib

Differential Revision: https://reviews.llvm.org/D133366

Added: 
    lldb/test/API/python_api/file_spec/TestFileSpecAPI.py

Modified: 
    lldb/bindings/interface/SBFileSpec.i

Removed: 
    


################################################################################
diff  --git a/lldb/bindings/interface/SBFileSpec.i b/lldb/bindings/interface/SBFileSpec.i
index b549321487ec2..104339472384f 100644
--- a/lldb/bindings/interface/SBFileSpec.i
+++ b/lldb/bindings/interface/SBFileSpec.i
@@ -88,7 +88,7 @@ public:
             spec_dir = self.GetDirectory()
             spec_file = self.GetFilename()
             if spec_dir and spec_file:
-                return '%s/%s' % (spec_dir, spec_file)
+                return os.path.join(spec_dir, spec_file)
             elif spec_dir:
                 return spec_dir
             elif spec_file:

diff  --git a/lldb/test/API/python_api/file_spec/TestFileSpecAPI.py b/lldb/test/API/python_api/file_spec/TestFileSpecAPI.py
new file mode 100644
index 0000000000000..6c074df0c12fb
--- /dev/null
+++ b/lldb/test/API/python_api/file_spec/TestFileSpecAPI.py
@@ -0,0 +1,15 @@
+import lldb
+import os
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+
+class TestCase(TestBase):
+    NO_DEBUG_INFO_TESTCASE = True
+
+    def test_full_path(self):
+        file_spec = lldb.SBFileSpec()
+        file_spec.SetDirectory("a")
+        file_spec.SetFilename("b")
+        self.assertEqual(file_spec.fullpath, os.path.join("a", "b"))


        


More information about the lldb-commits mailing list