NAME=dotnet: duplicated class names keep their superclass
FILE=bins/pe/mitigation_nothing.exe
CMDS=<<EOF
icq~State
ic~State ::
EOF
EXPECT=<<EOF
0x00000000 [0x00000000 - 0x00000000] cil State System.Enum
0x00000000 [0x00000000 - 0x00000000]      0 cil class 238 State :: System.Enum
EOF
RUN

NAME=dotnet skips expensive signatures on unnamed fields
FILE=bins/pe/dotnet-sig-missing-typedef.exe
TIMEOUT=60
CMDS=<<EOF
?e opened
EOF
EXPECT=<<EOF
opened
EOF
RUN

NAME=dotnet long names shared by many rows are truncated, not dropped
FILE=bins/pe/dotnet-long-names.exe
CMDS=<<EOF
?l `icq`
ic~?
EOF
EXPECT=<<EOF
1066
651
EOF
RUN

NAME=dotnet rejects huge ranks and malformed array shapes
FILE=malloc://1024
TIMEOUT=10
CMDS=<<EOF
e io.va=false
wff bins/pe/dotnet-array-rank.exe @ 0
obf
icc csharp~cells
wx 06061408020000 @ 0x2ea; obf; icc csharp~cells
wx 0606140802ff00 @ 0x2ea; obf; icc csharp~cells
wx 06061408020180 @ 0x2ea; obf; icc csharp~cells
wx 06061408020080 @ 0x2ea; obf; icc csharp~cells
wx 06061408020001 @ 0x2ea; obf; icc csharp~cells
EOF
EXPECT=<<EOF
	public unknown cells;
	public int[,] cells;
	public unknown cells;
	public unknown cells;
	public unknown cells;
	public unknown cells;
EOF
RUN

NAME=dotnet signatures shared by many rows are not rendered past the limit
FILE=bins/pe/dotnet-shared-sig.exe
TIMEOUT=10
CMDS=<<EOF
is~?
?l `isq`
EOF
EXPECT=<<EOF
27
12687
EOF
RUN
