NAME=gopclntab list and files
FILE=bins/elf/go-cdetect
CMDS=<<EOF
a:gopclntab list~?
a:gopclntab files~?
a:gopclntab name main.main
EOF
EXPECT=<<EOF
1844
247
ADDRESS       FUNCTION NAME
----------------------------------------------------------------------
0x4bf140   main.main  (/home/joxean/devel/cdetect/main.go)

[+] 1 function(s) shown (filtered from 1841 total)

EOF
RUN

NAME=gopclntab functab entries sharing one name
FILE=hex://7f454c4602010100000000000000000002003e000100000000004000000000004000000000000000d00100000000000000000000400038000100400003000200010000000500000000000000000000000000400000000000000040000000000090020000000000009002000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f0ffffff00000108080000000000000000000000000000000000400000000000b000000000000000000000000000000000000000000000000000000000000000480000000000000000000000400000001000000040000000200000004000000030000000400000004000000040000000500000004000000060000000400000007000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000006d61696e2e6d61696e00002e676f70636c6e746162002e736873747274616200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000020000000000000000014000000000000001000000000000ba000000000000000000000000000000010000000000000000000000000000000c0000000300000000000000000000000000000000000000ba010000000000001600000000000000000000000000000001000000000000000000000000000000
CMDS=<<EOF
a:gopclntab list
EOF
EXPECT=<<EOF
ADDRESS       FUNCTION NAME
----------------------------------------------------------------------
0x400000   main.main
0x400010   main.main
0x400020   main.main
0x400030   main.main
0x400040   main.main
0x400050   main.main
0x400060   main.main
0x400070   main.main

[+] 8 function(s) shown

EOF
RUN

NAME=gopclntab functab entries sharing one long name
FILE=hex://7f454c4602010100000000000000000002003e0001000000000040000000000040000000000000008f020000000000000000000040003800010040000300020001000000050000000000000000000000000040000000000000004000000000004f030000000000004f03000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f0ffffff00000108080000000000000000000000000000000000400000000000b00000000000000000000000000000000000000000000000000000000000000048000000000000000000000040000000100000004000000020000000400000003000000040000000400000004000000050000000400000006000000040000000700000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424200002e676f70636c6e746162002e73687374727461620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000100000002000000000000000001400000000000000100000000000079010000000000000000000000000000010000000000000000000000000000000c000000030000000000000000000000000000000000000079020000000000001600000000000000000000000000000001000000000000000000000000000000
CMDS=<<EOF
a:gopclntab list~?
EOF
EXPECT=<<EOF
0
EOF
RUN
NAME=gopclntab zero-filled tail
FILE=hex://7f454c4602010100000000000000000002003e000100000000004000000000004000000000000000860100000000000000000000400038000100400003000200010000000500000000000000000000000000400000000000000040000000000046020000000000004602400000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f0ffffff00000108ffffff7f00000000000000000000000000004000000000004800000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e676f70636c6e746162002e73687374727461620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000100000002000000000000000001400000000000000100000000000070004000000000000000000000000000010000000000000000000000000000000c000000030000000000000000000000000000000000000070010000000000001600000000000000000000000000000001000000000000000000000000000000
CMDS=<<EOF
a:gopclntab list~?
a:gopclntab files~?
EOF
EXPECT=<<EOF
28
1
EOF
RUN
