[llvm] r357789 - lit: make rm python 3 friendly (NFC)
Saleem Abdulrasool via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 5 11:00:49 PDT 2019
Author: compnerd
Date: Fri Apr 5 11:00:49 2019
New Revision: 357789
URL: http://llvm.org/viewvc/llvm-project?rev=357789&view=rev
Log:
lit: make rm python 3 friendly (NFC)
Add some alterations for python 3 compatibility.
Modified:
llvm/trunk/utils/lit/lit/TestRunner.py
llvm/trunk/utils/lit/lit/util.py
Modified: llvm/trunk/utils/lit/lit/TestRunner.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/lit/TestRunner.py?rev=357789&r1=357788&r2=357789&view=diff
==============================================================================
--- llvm/trunk/utils/lit/lit/TestRunner.py (original)
+++ llvm/trunk/utils/lit/lit/TestRunner.py Fri Apr 5 11:00:49 2019
@@ -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:
Modified: llvm/trunk/utils/lit/lit/util.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/lit/util.py?rev=357789&r1=357788&r2=357789&view=diff
==============================================================================
--- llvm/trunk/utils/lit/lit/util.py (original)
+++ llvm/trunk/utils/lit/lit/util.py Fri Apr 5 11:00:49 2019
@@ -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:
More information about the llvm-commits
mailing list