aboutsummaryrefslogtreecommitdiff
path: root/test/COFF/manifest.test
blob: accec48d6866e384d0aa21c5c8f89e6bd566f22a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# RUN: yaml2obj %p/Inputs/ret42.yaml > %t.obj

# RUN: rm -f %t.exe.manifest
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: test ! -e %t.exe.manifest

# RUN: lld-link /manifest /out:%t.exe /entry:main %t.obj
# RUN: FileCheck -check-prefix=MANIFEST %s < %t.exe.manifest

MANIFEST: <?xml version="1.0" standalone="yes"?>
MANIFEST: <assembly xmlns="urn:schemas-microsoft-com:asm.v1"
MANIFEST:           manifestVersion="1.0">
MANIFEST:   <trustInfo>
MANIFEST:     <security>
MANIFEST:       <requestedPrivileges>
MANIFEST:          <requestedExecutionLevel level='asInvoker' uiAccess='false'/>
MANIFEST:       </requestedPrivileges>
MANIFEST:     </security>
MANIFEST:   </trustInfo>
MANIFEST: </assembly>

# RUN: lld-link /out:%t.exe /entry:main /manifest \
# RUN:   /manifestuac:"level='requireAdministrator' uiAccess='true'" %t.obj
# RUN: FileCheck -check-prefix=UAC %s < %t.exe.manifest

UAC: <?xml version="1.0" standalone="yes"?>
UAC: <assembly xmlns="urn:schemas-microsoft-com:asm.v1"
UAC:           manifestVersion="1.0">
UAC:   <trustInfo>
UAC:     <security>
UAC:       <requestedPrivileges>
UAC:          <requestedExecutionLevel level='requireAdministrator' uiAccess='true'/>
UAC:       </requestedPrivileges>
UAC:     </security>
UAC:   </trustInfo>
UAC: </assembly>

# /manifestdependency implies /manifest. (/manifestuac doesn't.)
# RUN: lld-link /out:%t.exe /entry:main \
# RUN:   /manifestdependency:"foo='bar'" %t.obj
# RUN: FileCheck -check-prefix=DEPENDENCY %s < %t.exe.manifest

DEPENDENCY: <?xml version="1.0" standalone="yes"?>
DEPENDENCY: <assembly xmlns="urn:schemas-microsoft-com:asm.v1"
DEPENDENCY:           manifestVersion="1.0">
DEPENDENCY:   <trustInfo>
DEPENDENCY:     <security>
DEPENDENCY:       <requestedPrivileges>
DEPENDENCY:          <requestedExecutionLevel level='asInvoker' uiAccess='false'/>
DEPENDENCY:       </requestedPrivileges>
DEPENDENCY:     </security>
DEPENDENCY:   </trustInfo>
DEPENDENCY:   <dependency>
DEPENDENCY:     <dependentAssembly>
DEPENDENCY:       <assemblyIdentity foo='bar' />
DEPENDENCY:     </dependentAssembly>
DEPENDENCY:   </dependency>
DEPENDENCY: </assembly>

# RUN: lld-link /manifest /out:%t.exe /entry:main /manifestuac:no %t.obj
# RUN: FileCheck -check-prefix=NOUAC %s < %t.exe.manifest

NOUAC: <?xml version="1.0" standalone="yes"?>
NOUAC: <assembly xmlns="urn:schemas-microsoft-com:asm.v1"
NOUAC:           manifestVersion="1.0">
NOUAC: </assembly>