[llvm-bugs] [Bug 41042] New: 9 clang-move tests failing after r332717 on Windows when run through a directory junction
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue Mar 12 04:00:07 PDT 2019
https://bugs.llvm.org/show_bug.cgi?id=41042
Bug ID: 41042
Summary: 9 clang-move tests failing after r332717 on Windows
when run through a directory junction
Product: new-bugs
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: douglas_yung at playstation.sony.com
CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org
After upstream commit r332717, 9 clang-move tests started to fail when run on
Windows in a directory that is under an NTFS junction point.
The specific tests that fail are the following:
Clang Tools :: clang-move/move-class.cpp
Clang Tools :: clang-move/move-enum-decl.cpp
Clang Tools :: clang-move/move-function.cpp
Clang Tools :: clang-move/move-multiple-classes.cpp
Clang Tools :: clang-move/move-template-class.cpp
Clang Tools :: clang-move/move-type-alias.cpp
Clang Tools :: clang-move/move-used-helper-decls.cpp
Clang Tools :: clang-move/move-var.cpp
Clang Tools :: clang-move/no-move-macro-helpers.cpp
In each of these test failures, what happens is the clang-move command is run,
and it is expected to produce a new file that FileCheck tries to inspect.
FileCheck fails because the newly generated file is empty.
To reproduce this, you need a Windows system, and the sources in a directory
that is accessed through an NTFS junction point. Here is my setup:
Source location: D:\src\upstream\llvm_clean
Junction point is located at C:\src\upstream which points to D:\src\upstream.
Here is what the Windows dir command returns when run in C:\src:
C:\src>dir
Volume in drive C is Windows
Volume Serial Number is 1C54-5FD7
Directory of C:\src
10/31/2018 16:36 <DIR> .
10/31/2018 16:36 <DIR> ..
10/31/2018 16:35 <JUNCTION> upstream [D:\src\upstream]
To create a junction point in Windows, the underlying filesystem must be NTFS.
You can create a junction point using the "mklink" command like this:
mklink /J <junction name> <target directory>
So for example, running "mklink /J C:\src\foo C:\src\bar" would create a
junction point named "foo" in C:\src that points to C:\src\bar.
The simplest way to reproduce this if you already have a Windows setup with
your sources in C:\src\llvm for example would be to create a junction point
that points to the existing location, and then run the test from under the
junction point.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190312/3d562182/attachment-0001.html>
More information about the llvm-bugs
mailing list