File: manifest.test

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (169 lines) | stat: -rw-r--r-- 7,401 bytes parent folder | download | duplicates (18)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# RUN: yaml2obj %p/Inputs/ret42.yaml -o %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 \
# RUN:   /manifestdependency:"foo='bar'" %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:   <dependency>
NOUAC:     <dependentAssembly>
NOUAC:       <assemblyIdentity foo='bar' />
NOUAC:     </dependentAssembly>
NOUAC:   </dependency>
NOUAC: </assembly>

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

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

# Several /manifestdependency: flags are naively dedup'd.
# RUN: lld-link /out:%t.exe /entry:main \
# RUN:   /manifestdependency:"foo='bar'" \
# RUN:   /manifestdependency:"foo='bar'" \
# RUN:   /manifestdependency:"baz='quux'" \
# RUN:   %t.obj
# RUN: FileCheck -check-prefix=SEVERALDEPS %s < %t.exe.manifest

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

# /manifestdependency: flags can be in .drectve sections.
# RUN: yaml2obj %p/Inputs/manifestdependency-drectve.yaml -o %t.dir.obj
# RUN: rm %t.exe.manifest
# RUN: lld-link /out:%t.exe /entry:main \
# RUN:   %t.obj %t.dir.obj
# RUN: FileCheck -check-prefix=SEVERALDEPS %s < %t.exe.manifest

# /manifestdependency: flags in .drectve sections are ignored with an
# explicit /manifest:no.
# RUN: rm %t.exe.manifest
# RUN: lld-link /out:%t.exe /entry:main /manifest:no \
# RUN:   %t.obj %t.dir.obj
# RUN: test ! -e %t.exe.manifest

# Test that /manifestdependency: flags in .drectve sections work
# with /manifest:embed too.
# RUN: lld-link /out:%t.exe /entry:main /manifest:embed \
# RUN:   %t.obj %t.dir.obj
# RUN: test ! -e %t.exe.manifest
# RUN: llvm-readobj --coff-resources %t.exe \
# RUN:     | FileCheck --check-prefix EMBED %s

EMBED: Data (
EMBED:   0000: 3C3F786D 6C207665 7273696F 6E3D2231  |<?xml version="1|
EMBED:   0010: 2E302220 7374616E 64616C6F 6E653D22  |.0" standalone="|
EMBED:   0020: 79657322 3F3E0A3C 61737365 6D626C79  |yes"?>.<assembly|
EMBED:   0030: 20786D6C 6E733D22 75726E3A 73636865  | xmlns="urn:sche|
EMBED:   0040: 6D61732D 6D696372 6F736F66 742D636F  |mas-microsoft-co|
EMBED:   0050: 6D3A6173 6D2E7631 220A2020 20202020  |m:asm.v1".      |
EMBED:   0060: 20202020 6D616E69 66657374 56657273  |    manifestVers|
EMBED:   0070: 696F6E3D 22312E30 223E0A20 203C7472  |ion="1.0">.  <tr|
EMBED:   0080: 75737449 6E666F3E 0A202020 203C7365  |ustInfo>.    <se|
EMBED:   0090: 63757269 74793E0A 20202020 20203C72  |curity>.      <r|
EMBED:   00A0: 65717565 73746564 50726976 696C6567  |equestedPrivileg|
EMBED:   00B0: 65733E0A 20202020 20202020 203C7265  |es>.         <re|
EMBED:   00C0: 71756573 74656445 78656375 74696F6E  |questedExecution|
EMBED:   00D0: 4C657665 6C206C65 76656C3D 27617349  |Level level='asI|
EMBED:   00E0: 6E766F6B 65722720 75694163 63657373  |nvoker' uiAccess|
EMBED:   00F0: 3D276661 6C736527 2F3E0A20 20202020  |='false'/>.     |
EMBED:   0100: 203C2F72 65717565 73746564 50726976  | </requestedPriv|
EMBED:   0110: 696C6567 65733E0A 20202020 3C2F7365  |ileges>.    </se|
EMBED:   0120: 63757269 74793E0A 20203C2F 74727573  |curity>.  </trus|
EMBED:   0130: 74496E66 6F3E0A20 203C6465 70656E64  |tInfo>.  <depend|
EMBED:   0140: 656E6379 3E0A2020 20203C64 6570656E  |ency>.    <depen|
EMBED:   0150: 64656E74 41737365 6D626C79 3E0A2020  |dentAssembly>.  |
EMBED:   0160: 20202020 3C617373 656D626C 79496465  |    <assemblyIde|
EMBED:   0170: 6E746974 7920666F 6F3D2762 61722720  |ntity foo='bar' |
EMBED:   0180: 2F3E0A20 2020203C 2F646570 656E6465  |/>.    </depende|
EMBED:   0190: 6E744173 73656D62 6C793E0A 20203C2F  |ntAssembly>.  </|
EMBED:   01A0: 64657065 6E64656E 63793E0A 20203C64  |dependency>.  <d|
EMBED:   01B0: 6570656E 64656E63 793E0A20 2020203C  |ependency>.    <|
EMBED:   01C0: 64657065 6E64656E 74417373 656D626C  |dependentAssembl|
EMBED:   01D0: 793E0A20 20202020 203C6173 73656D62  |y>.      <assemb|
EMBED:   01E0: 6C794964 656E7469 74792062 617A3D27  |lyIdentity baz='|
EMBED:   01F0: 71757578 27202F3E 0A202020 203C2F64  |quux' />.    </d|
EMBED:   0200: 6570656E 64656E74 41737365 6D626C79  |ependentAssembly|
EMBED:   0210: 3E0A2020 3C2F6465 70656E64 656E6379  |>.  </dependency|
EMBED:   0220: 3E0A3C2F 61737365 6D626C79 3E0A      |>.</assembly>.|
EMBED: )