NAME=t/md5sha1
FILE=-
CMDS=<<EOF
b 100
ph md5 64
ph md5 99
w hello world
ph md5 11
ph md5 @!11
ph sha1 11
ph pcprint
EOF
EXPECT=<<EOF
3b5d3c7d207e37dceeedd301e35e2e58
fa8715078d45101200a6e2bf7321aa04
5eb63bbbe01eeed093cb22bb8f5acdc3
5eb63bbbe01eeed093cb22bb8f5acdc3
2aae6c35c94fcfb415dbe95f408b9ce91ee846ed
11
EOF
RUN

NAME=ph crc32
FILE=-
CMDS=<<EOF
b 12
w hello world
!rahash2 -qa crc16 -s "hello world"
ph crc16 11
!rahash2 -qa crc32 -s "hello world"
ph crc32 11
EOF
EXPECT=<<EOF
39c1
39c1
0d4a1185
0d4a1185
EOF
RUN

NAME=crca 'hello world'
FILE=-
CMDS=<<EOF
b 12
w hello world
!rahash2 -qa rahash2 -a crc8smbus,crc15can,crc16hdlc,crc16usb,crc16citt,crc24,crc32c,crc32ecma267 -s "hello world"
ph crc8smbus 11
ph crc15can 11
ph crc16hdlc 11
ph crc16usb 11
ph crc16citt 11
ph crc24 11
ph crc32c 11
ph crc32ecma267 11
EOF
EXPECT=<<EOF
a8
727a
ae06
2238
efeb
b03cb7
c99465aa
ac86f845
a8
727a
ae06
2238
efeb
b03cb7
c99465aa
ac86f845
EOF
RUN

NAME=search count
FILE=bins/elf/analysis/x86-helloworld-gcc
CMDS=<<EOF
ph crc32 @ $$+10
/h crc32 83618b8a
EOF
EXPECT=<<EOF
83618b8a
f hash.crc32.83618b8a = 0x804830a
EOF
RUN

NAME=cmd.hit for /h
FILE=malloc://1024
BROKEN=1
CMDS=<<EOF
e cmd.hit = p8 1
e search.in =raw
/h md5 348a9791dc41b89796ec3808b5b5262f
EOF
EXPECT=<<EOF
f hash.md5.348a9791dc41b89796ec3808b5b5262f = 0x0
00
EOF
RUN

NAME=cmd.hit for /h sha256
FILE=bins/firmware/main.bin
CMDS=<<EOF
e cmd.hit = p8 1
e search.in =raw
/h sha256 83264abaf298b9238ca63cb2fd9ff0f41a7a1520ee2a17c56df459fc806de1d6 512
EOF
EXPECT=<<EOF
f hash.sha256.83264abaf298b9238ca63cb2fd9ff0f41a7a1520ee2a17c56df459fc806de1d6 = 0x64
EOF
RUN

NAME=phj
FILE=-
CMDS=<<EOF
phj
EOF
EXPECT=<<EOF
["entropy","strhash","md5","sha1","sha256","sha384","sha512","md4","xor","xorpair","parity","entropy","hamdist","pcprint","mod255","xxhash","adler32","luhn","ssdeep","crc8smbus","crc15can","crc16","crc16hdlc","crc16usb","crc16citt","crc24","crc32","crc32c","crc32ecma267","crc32bzip2","crc32d","crc32mpeg2","crc32posix","crc32q","crc32jamcrc","crc32xfer","crc64","crc64ecma","crc64we","crc64xz","crc64iso","fletcher8","fletcher16","fletcher32","fletcher64","sip","elf"]
EOF
RUN
