* Refactor of bflt to guess arch & fix m68k code * Fix endianness issues * Always cleanup at the end on travis ci
311 lines
4.8 KiB
Text
311 lines
4.8 KiB
Text
NAME=Error case - malformed interval I
|
|
FILE==
|
|
CMDS=<<EOF
|
|
/v 4be (0xff,0x8a)
|
|
EOF
|
|
EXPECT=
|
|
EXPECT_ERR=<<EOF
|
|
ERROR: a > b is not defined.
|
|
ERROR: Failed to parse interval: '(0xff,0x8a)'.
|
|
EOF
|
|
RUN
|
|
|
|
NAME=Error case - malformed interval II
|
|
FILE==
|
|
CMDS=<<EOF
|
|
/v 4be (1,0x8a) {}
|
|
EOF
|
|
EXPECT=
|
|
EXPECT_ERR=<<EOF
|
|
ERROR: Failed to parse: '{}'.
|
|
ERROR: Failed to parse interval: '{}'.
|
|
EOF
|
|
RUN
|
|
|
|
NAME=from/to /v
|
|
FILE==
|
|
CMDS=<<EOF
|
|
e asm.arch=x86
|
|
e asm.bits=64
|
|
wx 01
|
|
e cmd.hit="pi 1"
|
|
e search.in=raw
|
|
e search.from=0x00000000
|
|
e search.to=0x00000004
|
|
/v 1 1
|
|
EOF
|
|
EXPECT=<<EOF
|
|
add dword [rax], eax
|
|
EOF
|
|
RUN
|
|
|
|
NAME=from/to /v not in range
|
|
FILE==
|
|
CMDS=<<EOF
|
|
e asm.arch=x86
|
|
e asm.bits=64
|
|
wx 01
|
|
e cmd.hit="pi 1"
|
|
e search.in=raw
|
|
e search.from=0x00000000
|
|
e search.to=0x00000000
|
|
/v 2a 1
|
|
EOF
|
|
EXPECT=<<EOF
|
|
add dword [rax], eax
|
|
EOF
|
|
RUN
|
|
|
|
NAME=from/to /V
|
|
FILE==
|
|
BROKEN=1
|
|
CMDS=<<EOF
|
|
wx 05
|
|
e cmd.hit = pi 1
|
|
e search.in =raw
|
|
e search.from=0x00000000
|
|
e search.to=0x00000004
|
|
/v 1 1 5
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x00000000 hit0_0 05
|
|
add dword [rax], eax
|
|
EOF
|
|
RUN
|
|
|
|
NAME=from/to /V not in range
|
|
FILE==
|
|
CMDS=<<EOF
|
|
wx 05
|
|
e cmd.hit=pi 1
|
|
e search.in=raw
|
|
e search.from=0x00000000
|
|
e search.to=0x00000000
|
|
/v 1 1 5
|
|
EOF
|
|
EXPECT=
|
|
RUN
|
|
|
|
NAME=/v{2,4,8} value search arch (LE)
|
|
FILE==
|
|
CMDS=<<EOF
|
|
wx 0x12345678aabbccddeeff12345678
|
|
e cfg.bigendian=false
|
|
/v 2a 0x7856
|
|
/v 2a 0x5678
|
|
/v 4a 0x78563412
|
|
/v 4a 0x12345678
|
|
/v 8a 0x78563412ddccbbaa
|
|
/v 8a 0xddccbbaa78563412
|
|
/v 8a 0x12345678aabbccdd
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x00000002 2 hit.value.0
|
|
0x0000000c 2 hit.value.1
|
|
0x00000000 4 hit.value.0
|
|
0x0000000a 4 hit.value.1
|
|
0x00000000 8 hit.value.0
|
|
EOF
|
|
RUN
|
|
|
|
NAME=/v value alias
|
|
FILE==
|
|
CMDS=<<EOF
|
|
wx 0x12345678aabbccddeeff12345678
|
|
e cfg.bigendian=false
|
|
/v2 0x7856
|
|
/v2 0x5678
|
|
/v4 0x78563412
|
|
/v4 0x12345678
|
|
/v8 0x78563412ddccbbaa
|
|
/v8 0xddccbbaa78563412
|
|
/v8 0x12345678aabbccdd
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x00000002 2 hit.value.0
|
|
0x0000000c 2 hit.value.1
|
|
0x00000000 4 hit.value.0
|
|
0x0000000a 4 hit.value.1
|
|
0x00000000 8 hit.value.0
|
|
EOF
|
|
RUN
|
|
|
|
NAME=/v{2,4,8} value search BE
|
|
FILE==
|
|
CMDS=<<EOF
|
|
wx 0x12345678aabbccddeeff12345678
|
|
e cfg.bigendian=true
|
|
/v 2be 0x7856
|
|
/v 2be 0x5678
|
|
/v 4be 0x78563412
|
|
/v 4be 0x12345678
|
|
/v 8be 0x78563412ddccbbaa
|
|
/v 8be 0xddccbbaa78563412
|
|
/v 8be 0x12345678aabbccdd
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x00000002 2 hit.value.0
|
|
0x0000000c 2 hit.value.1
|
|
0x00000000 4 hit.value.0
|
|
0x0000000a 4 hit.value.1
|
|
0x00000000 8 hit.value.0
|
|
EOF
|
|
RUN
|
|
|
|
NAME=/V{2,4,8} value search in range LE
|
|
FILE==
|
|
CMDS=<<EOF
|
|
wx 0x12345678aabbccddeeff13345678
|
|
e cfg.bigendian=false
|
|
/v 2le [0x7854,0x7858]
|
|
echo ---
|
|
/v 2le [0x5677,0x7854]
|
|
/v 4le [0x78563412,0x78563420]
|
|
echo ---
|
|
/v 4le [0x12345678,0x20345678]
|
|
/v 8le [0x12345678aabbccdd,0x14345678aabbccdd]
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x00000002 2 hit.value.0
|
|
0x0000000c 2 hit.value.1
|
|
---
|
|
0x00000000 4 hit.value.0
|
|
0x0000000a 4 hit.value.1
|
|
---
|
|
0x00000007 4 hit.value.0
|
|
0x00000003 8 hit.value.0
|
|
EOF
|
|
RUN
|
|
|
|
NAME=/V{2,4,8} value search in range BE
|
|
FILE==
|
|
CMDS=<<EOF
|
|
wx 0x12345678aabbccddeeff13345678
|
|
/v 2be [0x7854,0x7858]
|
|
echo ---
|
|
/v 2be [0x5677,0x7854]
|
|
/v 4be [0x78563412,0x78563420]
|
|
echo ---
|
|
/v 4be [0x12345670,0x20345678]
|
|
/v 8be [0x12345678aabbccdd,0x14345678aabbccdd]
|
|
EOF
|
|
EXPECT=<<EOF
|
|
---
|
|
0x00000002 2 hit.value.0
|
|
0x0000000c 2 hit.value.1
|
|
---
|
|
0x00000000 4 hit.value.0
|
|
0x0000000a 4 hit.value.1
|
|
0x00000000 8 hit.value.0
|
|
0x0000000a 8 hit.value.1
|
|
EOF
|
|
RUN
|
|
|
|
NAME=/V{2,4,8} alias
|
|
FILE==
|
|
CMDS=<<EOF
|
|
e cfg.bigendian=true
|
|
wx 0x12345678aabbccddeeff13345678
|
|
/V2 0x7854 0x7858
|
|
echo ---
|
|
/V2 0x5677 0x7854
|
|
/V4 0x78563412 0x78563420
|
|
echo ---
|
|
/V4 0x12345670 0x20345678
|
|
/V8 0x12345678aabbccdd 0x14345678aabbccdd
|
|
EOF
|
|
EXPECT=<<EOF
|
|
---
|
|
0x00000002 2 hit.value.0
|
|
0x0000000c 2 hit.value.1
|
|
---
|
|
0x00000000 4 hit.value.0
|
|
0x0000000a 4 hit.value.1
|
|
0x00000000 8 hit.value.0
|
|
0x0000000a 8 hit.value.1
|
|
EOF
|
|
RUN
|
|
|
|
NAME=/vj 4le search 4 byte with json output
|
|
FILE==
|
|
CMDS=<<EOF
|
|
wx 0x12345678aabbccddeeff12345678
|
|
/vj 4le 0x78563412
|
|
EOF
|
|
EXPECT=<<EOF
|
|
[{"address":0,"size":4,"flag":"hit.value.0"},{"address":10,"size":4,"flag":"hit.value.1"}]
|
|
EOF
|
|
RUN
|
|
|
|
NAME=/vj 4a search 4 byte in range with json
|
|
FILE==
|
|
CMDS=<<EOF
|
|
e asm.arch=x86
|
|
wx 0x12345678aabbccddeeff12345678
|
|
/vj 4a [0x78563412,0x78563420]
|
|
EOF
|
|
EXPECT=<<EOF
|
|
[{"address":0,"size":4,"flag":"hit.value.0"},{"address":10,"size":4,"flag":"hit.value.1"}]
|
|
EOF
|
|
RUN
|
|
|
|
NAME=empty interval
|
|
FILE==
|
|
CMDS=<<EOF
|
|
wx 0x12345678aabbccddeeff12345678
|
|
/v 1 "(1,1)"
|
|
EOF
|
|
EXPECT=<<EOF
|
|
EOF
|
|
EXPECT_ERR=<<EOF
|
|
EOF
|
|
RUN
|
|
|
|
NAME=Right open interval
|
|
FILE==
|
|
CMDS=<<EOF
|
|
wx 0x010203
|
|
/v 1 "[1,2)"
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x00000000 1 hit.value.0
|
|
EOF
|
|
EXPECT_ERR=
|
|
RUN
|
|
|
|
NAME=Left open interval
|
|
FILE==
|
|
CMDS=<<EOF
|
|
wx 0x010203
|
|
/v 1 "(1 , 2]"
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x00000001 1 hit.value.0
|
|
EOF
|
|
EXPECT_ERR=
|
|
RUN
|
|
|
|
NAME=Open interval
|
|
FILE==
|
|
CMDS=<<EOF
|
|
wx 0x010203
|
|
/v 1 "(1,3)"
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x00000001 1 hit.value.0
|
|
EOF
|
|
EXPECT_ERR=
|
|
RUN
|
|
|
|
NAME=Multiple intervals
|
|
FILE==
|
|
CMDS=<<EOF
|
|
wx 0x12345678aabbccddeeff12345678
|
|
/v 1 "(0x78, 0x8a]" 0xcc 0xee
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x00000006 1 hit.value.0
|
|
0x00000008 1 hit.value.1
|
|
EOF
|
|
EXPECT_ERR=
|
|
RUN
|