Merge pull request #5428 from kumpera/wasm-support-p2
[mono.git] / mono / tests / metadata-verifier / cli-header-tests.md
1 cli-header-basic {
2         assembly simple-assembly.exe
3
4         #the section dir must point to a valid rva
5         invalid offset pe-optional-header + 208 set-uint 0x88888
6
7         #the cli header must be there
8         invalid offset pe-optional-header + 208 set-uint 0
9
10         #the cli header size must be == 72
11         invalid offset pe-optional-header + 212 set-uint 71
12
13         #the cli header size must be == 72 (again, but now on the header itself)
14         invalid offset cli-header set-uint 71
15
16         #Framework version is irrelevant
17
18         #Metadata RVA and size
19         #no metadata
20         invalid offset cli-header + 8 set-uint 0
21
22         #invalid
23         invalid offset cli-header + 8 set-uint 0x777777
24
25         #empty metadata
26         invalid offset cli-header + 12 set-uint 0
27
28         #not bounds checking
29         invalid offset cli-header + 12 set-uint 0x12345678
30
31         #Flags valid mask: 0x0001000B
32         invalid offset cli-header + 16 set-uint 0x0011000B
33
34         #TODO verify entry point token
35
36         #Resources
37         invalid offset cli-header + 24 set-uint 0x777777
38         invalid offset cli-header + 24 set-uint 0x2000 , offset cli-header + 28 set-uint 0x999999
39
40         #Strong Name
41         invalid offset cli-header + 32 set-uint 0x777777
42         invalid offset cli-header + 32 set-uint 0x2000 , offset cli-header + 36 set-uint 0x999999
43
44         #Code Manager Table
45         invalid offset cli-header + 40 set-uint 0x777777
46         invalid offset cli-header + 40 set-uint 0x2000 , offset cli-header + 44 set-uint 0x999999
47
48         #VTable fixups
49         invalid offset cli-header + 48 set-uint 0x777777
50         invalid offset cli-header + 48 set-uint 0x2000 , offset cli-header + 52 set-uint 0x999999
51
52         #Export Address Table
53         invalid offset cli-header + 56 set-uint 0x777777
54         invalid offset cli-header + 56 set-uint 0x2000 , offset cli-header + 60 set-uint 0x999999
55
56         #Managed native header
57         invalid offset cli-header + 64 set-uint 0x777777
58         invalid offset cli-header + 64 set-uint 0x2000 , offset cli-header + 68 set-uint 0x999999
59 }