NAME=tn symbol
FILE=../bins/elf/analysis/hello-objc-linux
EXPECT=<<EOF
size: 33
EOF
CMDS=<<EOF
tn-*
tn sym.imp.__libc_start_main
af
afi~size
EOF
RUN

NAME=tn 0x08048550
FILE=../bins/elf/analysis/hello-objc-linux
EXPECT=<<EOF
size: 33
EOF
CMDS=<<EOF
tn-*
tn 0x08048550
af
afi~size
EOF
RUN

NAME=tn 0x00048550
FILE=../bins/elf/analysis/hello-objc-linux
EXPECT=<<EOF
size: 34
EOF
CMDS=<<EOF
tn-*
af
afi~size
EOF
RUN

NAME=tn- symbol1 symbol2
FILE=../bins/elf/analysis/hello-objc-linux
EXPECT=<<EOF
size: 34
EOF
CMDS=<<EOF
tn-*
tn __libc_start_main
tn- abc __libc_start_main
af
afi~size
EOF
RUN

NAME=without noreturn
FILE=../bins/elf/analysis/hello-objc-linux
EXPECT=<<EOF
size: 34
EOF
CMDS=<<EOF
tn-*
af
afi~size
EOF
RUN

NAME=no no return
FILE=../bins/elf/analysis/hello-objc-linux
EXPECT=<<EOF
EOF
CMDS=<<EOF
af
af-
afi~size
EOF
RUN

NAME=no no return 2
FILE=../bins/elf/analysis/hello-objc-linux
EXPECT=<<EOF
EOF
CMDS=<<EOF
af
af-*
afi~size
EOF
RUN

NAME=noreturn real test
FILE=../bins/elf/analysis/noreturn
EXPECT=<<EOF
            ; DATA XREF from entry0 @ 0x40048d
/ 41: int main (int argc, char **argv, char **envp);
|           ; var int64_t var_4h @ rbp-0x4
|           0x00400566      55             push rbp
|           0x00400567      4889e5         mov rbp, rsp
|           0x0040056a      4883ec10       sub rsp, 0x10
|           0x0040056e      837dfc00       cmp dword [var_4h], 0
|       ,=< 0x00400572      740a           je 0x40057e
|       |   0x00400574      bf00000000     mov edi, 0
|       |   0x00400579      e8d2feffff     call sym.imp.exit           ; void exit(int status)
|       `-> 0x0040057e      bf20064000     mov edi, str.hello          ; 0x400620 ; "hello"
|           0x00400583      e8a8feffff     call sym.imp.puts           ; int puts(const char *s)
|           0x00400588      b800000000     mov eax, 0
|           0x0040058d      c9             leave
\           0x0040058e      c3             ret
EOF
CMDS=<<EOF
aa
s main
pdf
EOF
RUN

NAME=noreturn address
FILE=-
EXPECT=<<EOF
call fcn.00000010
EOF
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
"wa call 0x10;ret"
tna 0x10
af
pif
EOF
RUN
