]> granicus.if.org Git - llvm/commitdiff
lit: make rm python 3 friendly (NFC)
authorSaleem Abdulrasool <compnerd@compnerd.org>
Fri, 5 Apr 2019 18:00:49 +0000 (18:00 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Fri, 5 Apr 2019 18:00:49 +0000 (18:00 +0000)
Add some alterations for python 3 compatibility.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@357789 91177308-0d34-0410-b5e6-96231b3b80d8

utils/lit/lit/TestRunner.py
utils/lit/lit/util.py

index 8a1842f147ae27cc1cd6d5203c553beafa54698f..07b0021385b52145e9994b94b5e9d63a03754dd1 100644 (file)
@@ -617,10 +617,10 @@ def executeBuiltinRm(cmd, cmd_shenv):
                     # NOTE: use ctypes to access `SHFileOperationsW` on Windows to
                     # use the NT style path to get access to long file paths which
                     # cannot be removed otherwise.
-                    from ctypes.wintypes import BOOL, HWND, LPCWSTR, POINTER, UINT, WORD
-                    from ctypes import c_void_p, byref
+                    from ctypes.wintypes import BOOL, HWND, LPCWSTR, UINT, WORD
+                    from ctypes import addressof, byref, c_void_p, create_unicode_buffer
                     from ctypes import Structure
-                    from ctypes import windll, WinError
+                    from ctypes import windll, WinError, POINTER
 
                     class SHFILEOPSTRUCTW(Structure):
                         _fields_ = [
@@ -634,7 +634,7 @@ def executeBuiltinRm(cmd, cmd_shenv):
                                 ('lpszProgressTitle', LPCWSTR),
                         ]
 
-                    FO_MOVE, FO_COPY, FO_DELETE, FO_RENAME = xrange(1, 5)
+                    FO_MOVE, FO_COPY, FO_DELETE, FO_RENAME = range(1, 5)
 
                     FOF_SILENT = 4
                     FOF_NOCONFIRMATION = 16
@@ -648,8 +648,10 @@ def executeBuiltinRm(cmd, cmd_shenv):
 
                     path = os.path.abspath(path)
 
+                    pFrom = create_unicode_buffer(path, len(path) + 2)
+                    pFrom[len(path)] = pFrom[len(path) + 1] = '\0'
                     operation = SHFILEOPSTRUCTW(wFunc=UINT(FO_DELETE),
-                                                pFrom=LPCWSTR(unicode(path + '\0')),
+                                                pFrom=LPCWSTR(addressof(pFrom)),
                                                 fFlags=FOF_NO_UI)
                     result = SHFileOperationW(byref(operation))
                     if result:
index 3b1391115a533cab120e1ddcf7def368fca16690..8b346f700b03f9e050ba9e8f2657034ac27e20da 100644 (file)
@@ -149,7 +149,7 @@ def mkdir(path):
             from ctypes import GetLastError, WinError
 
             path = os.path.abspath(path)
-            NTPath = unicode(r'\\?\%s' % path)
+            NTPath = to_unicode(r'\\?\%s' % path)
             if not windll.kernel32.CreateDirectoryW(NTPath, None):
                 raise WinError(GetLastError())
         else: