Skip to content

Commit 2a7a3eb

Browse files
committed
[windows] Use extended length paths for os.walk invocation.
In the Windows VS 2017 CI machines, the path for certain tests end up being very long. rewrite-module-triples.py was aware and was using extended length paths for the copy and remove operations in Windows but it was not using it for the os.walk invocation, so when a folder that was longer than MAX_PATH was encountered, the walk stopped drilling into it, missing some module-triple-here substitutions and making some test fail. The changes remove the special treatment of the copy and remove operations and move it into os.walk, which carries the prefix to every path. This should fix the problems seen in the SourceKit test in the Windows VS 2017 machine: - SourceKit/InterfaceGen/gen_swift_module_cross_import_common.swift - SourceKit/DocSupport/doc_cross_import_common.swift - SourceKit/CursorInfo/cursor_info_cross_import_common_case.swift PD: Misc/stats_dir_profiler.swift is something else. It seems as if an glob was not being expanded by lit for some reason.
1 parent 0290736 commit 2a7a3eb

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

test/CrossImport/Inputs/rewrite-module-triples.py

+6-10
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
sys.exit(1)
1818

1919
root_dir = sys.argv[1]
20+
if platform.system() == 'Windows':
21+
root_dir = "\\\\?\\" + os.path.abspath(root_dir)
22+
2023
triples = sys.argv[2:]
2124

2225

@@ -37,16 +40,9 @@ def rewrite(parent, names, copy_fn, rm_fn):
3740

3841
for new_name in new_names:
3942
new_path = os.path.join(parent, new_name)
40-
if platform.system() == 'Windows':
41-
copy_fn(u'\\'.join([u'\\\\?', os.path.normpath(path)]),
42-
u'\\'.join([u'\\\\?', os.path.normpath(new_path)]))
43-
else:
44-
copy_fn(path, new_path)
45-
46-
if platform.system() == 'Windows':
47-
rm_fn(u'\\'.join([u'\\\\?', os.path.normpath(path)]))
48-
else:
49-
rm_fn(path)
43+
copy_fn(path, new_path)
44+
45+
rm_fn(path)
5046

5147

5248
for parent, dirs, files in os.walk(root_dir, topdown=False):

0 commit comments

Comments
 (0)