xref: /llvm-project/lld/test/COFF/vfsoverlay.test (revision 5176a7671f91c1ceb88578e11c635e70e9217f90)
1# RUN: rm -rf %t
2# RUN: split-file %s %t
3# RUN: cp %p/Inputs/std64.lib %t/std64.lib
4# RUN: sed -e "s|REPLACE|%/t/std64.lib|g" %t/overlay.yaml.in > %t/overlay.yaml
5
6# RUN: lld-link %S/Inputs/hello64.obj /libpath:/noexist /out:%t.exe /entry:main /defaultlib:notstd64 /vfsoverlay:%t/overlay.yaml
7
8# RUN: not lld-link %S/Inputs/hello64.obj /libpath:/noexist /out:%t.exe /entry:main /defaultlib:notstd64 /vfsoverlay:noexist 2>&1 \
9# RUN:   | FileCheck %s
10# CHECK: error: {{[Nn]}}o such file or directory
11
12# RUN: echo "invalid yaml" > %t/badoverlay.yaml
13# RUN: not lld-link %S/Inputs/hello64.obj /libpath:/noexist /out:%t.exe /entry:main /defaultlib:notstd64 /vfsoverlay:%t/badoverlay.yaml 2>&1 \
14# RUN:   | FileCheck %s --check-prefix=BAD-OVERLAY
15# BAD-OVERLAY: error: Invalid vfs overlay
16
17#--- overlay.yaml.in
18{
19  'version': 0,
20  'roots' : [
21    {
22      'name': '/noexist',
23      'type': 'directory',
24      'contents': [
25        {
26          'name': 'notstd64.lib',
27          'type': 'file',
28          'external-contents': 'REPLACE'
29        }
30      ]
31    }
32  ]
33}
34