[llvm-bugs] [Bug 44221] New: subframework-symlink.m test does work on Windows

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Dec 4 13:04:21 PST 2019


https://bugs.llvm.org/show_bug.cgi?id=44221

            Bug ID: 44221
           Summary: subframework-symlink.m test does work on Windows
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Frontend
          Assignee: unassignedclangbugs at nondot.org
          Reporter: amccarth at google.com
                CC: llvm-bugs at lists.llvm.org, neeilans at live.com,
                    richard-llvm at metafoo.co.uk

This was originally considered part of PR43272, because it's part of the
virtual file system tests, but the issue here is not VFS.  On Windows, the
tests fails before VFS is applied.  Instead, it's caused by failure to
recognize that two paths to the same file (via a symlink) actually refer to the
same file.

Excerpt from `$ ninja check-clang-vfs`:

FAIL: Clang :: VFS/subframework-symlink.m (16 of 20)
******************** TEST 'Clang :: VFS/subframework-symlink.m' FAILED
********************
Script:
--
: 'RUN: at line 6';   rm -rf
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp
: 'RUN: at line 7';   mkdir
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp
: 'RUN: at line 8';   echo 'framework module * {}' >
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/module.modulemap
: 'RUN: at line 9';   mkdir -p
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/WithSubframework.framework/Headers
: 'RUN: at line 10';   echo '#include <Foo/Foo.h>' >
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/WithSubframework.framework/Headers/WithSubframework.h
: 'RUN: at line 11';   cp -R
D:\src\llvm\llvm-project\clang\test\VFS/Inputs/Foo.framework
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp
: 'RUN: at line 12';   mkdir -p
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/WithSubframework.framework/Frameworks
: 'RUN: at line 13';   ln -s
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/Foo.framework
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/WithSubframework.framework/Frameworks
: 'RUN: at line 14';   d:\src\llvm\build\ninja_dbg\bin\clang.exe -cc1
-internal-isystem d:\src\llvm\build\ninja_dbg\lib\clang\10.0.0\include
-nostdsysteminc -fmodules -fimplicit-module-maps
-fmodules-cache-path=D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/cache1
-F
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp
-fsyntax-only D:\src\llvm\llvm-project\clang\test\VFS\subframework-symlink.m
: 'RUN: at line 18';   sed -e "s at INPUT_DIR@/InvalidPath at g" -e
"s at OUT_DIR@/InvalidPath at g"
D:\src\llvm\llvm-project\clang\test\VFS/Inputs/vfsoverlay.yaml >
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/overlay.yaml
: 'RUN: at line 19';   d:\src\llvm\build\ninja_dbg\bin\clang.exe -cc1
-internal-isystem d:\src\llvm\build\ninja_dbg\lib\clang\10.0.0\include
-nostdsysteminc -fmodules -fimplicit-module-maps
-fmodules-cache-path=D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/cache2
-F
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp
-fsyntax-only D:\src\llvm\llvm-project\clang\test\VFS\subframework-symlink.m
-ivfsoverlay
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/overlay.yaml
--
Exit Code: 1

Command Output (stdout):
--
$ ":" "RUN: at line 6"
$ "rm" "-rf"
"D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp"
$ ":" "RUN: at line 7"
$ "mkdir"
"D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp"
$ ":" "RUN: at line 8"
$ "echo" "framework module * {}"
$ ":" "RUN: at line 9"
$ "mkdir" "-p"
"D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/WithSubframework.framework/Headers"
$ ":" "RUN: at line 10"
$ "echo" "#include <Foo/Foo.h>"
$ ":" "RUN: at line 11"
$ "cp" "-R" "D:\src\llvm\llvm-project\clang\test\VFS/Inputs/Foo.framework"
"D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp"
$ ":" "RUN: at line 12"
$ "mkdir" "-p"
"D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/WithSubframework.framework/Frameworks"
$ ":" "RUN: at line 13"
$ "ln" "-s"
"D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/Foo.framework"
"D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/WithSubframework.framework/Frameworks"
$ ":" "RUN: at line 14"
$ "d:\src\llvm\build\ninja_dbg\bin\clang.exe" "-cc1" "-internal-isystem"
"d:\src\llvm\build\ninja_dbg\lib\clang\10.0.0\include" "-nostdsysteminc"
"-fmodules" "-fimplicit-module-maps"
"-fmodules-cache-path=D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/cache1"
"-F"
"D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp"
"-fsyntax-only"
"D:\src\llvm\llvm-project\clang\test\VFS\subframework-symlink.m"
# command stderr:
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp\WithSubframework.framework\Frameworks\Foo.framework\Modules\module.modulemap:1:18:
error: redefinition of module 'Foo'
framework module Foo {
                 ^
D:\src\llvm\build\ninja_dbg\tools\clang\test\VFS\Output\subframework-symlink.m.tmp/Foo.framework\Modules\module.modulemap:1:18:
note: previously defined here
framework module Foo {
                 ^
D:\src\llvm\llvm-project\clang\test\VFS\subframework-symlink.m:21:9: fatal
error: could not build module 'WithSubframework'
#import <WithSubframework/WithSubframework.h>
 ~~~~~~~^
2 errors generated.

error: command failed with exit status: 1

--

-- 
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/20191204/2690a51c/attachment.html>


More information about the llvm-bugs mailing list