llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-lldb Author: Charles Zablit (charles-zablit) <details> <summary>Changes</summary> Prepend the build dir path with the `\\?\` prefix (https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry) to allow deleting directories that have paths longer than 260 characters. This is a recurring problem in Swiftlang. --- Full diff: https://github.com/llvm/llvm-project/pull/209409.diff 1 Files Affected: - (modified) lldb/packages/Python/lldbsuite/test/lldbtest.py (+6-1) ``````````diff diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py index a9c229be1a771..2fc8601f93974 100644 --- a/lldb/packages/Python/lldbsuite/test/lldbtest.py +++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py @@ -846,7 +846,12 @@ def _ignore_enoent(func, path, exc_info): return raise exc_info[1] - shutil.rmtree(bdir, onerror=_ignore_enoent) + # Delete via the \\?\ extended length path prefix so rmtree can + # remove build artifacts whose full path exceeds MAX_PATH (260). + rmtree_target = bdir + if sys.platform == "win32": + rmtree_target = "\\\\?\\" + bdir + shutil.rmtree(rmtree_target, onerror=_ignore_enoent) lldbutil.mkdir_p(bdir) def getBuildArtifact(self, name="a.out"): `````````` </details> https://github.com/llvm/llvm-project/pull/209409 _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
