diff options
author | João Valverde <j@v6e.pt> | 2022-04-06 18:23:01 +0100 |
---|---|---|
committer | João Valverde <j@v6e.pt> | 2022-04-06 18:35:10 +0100 |
commit | 5584aba326389c622ca6c8e775c357f69a87ef67 (patch) | |
tree | e74b56f592b6c70e3a092d862b0a09d62ed6bb40 /test | |
parent | a6f37323e612ff9b391cf0a3b3268c20d7971b22 (diff) |
dfilter: Fix slice using range [:j]
Fixes:
$ dftest 'frame[:10] contains 0xff'
dftest: ":10" is not a valid range.
Diffstat (limited to 'test')
-rw-r--r-- | test/suite_dfilter/group_range_method.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/suite_dfilter/group_range_method.py b/test/suite_dfilter/group_range_method.py index c8b3445894..1afe3336e2 100644 --- a/test/suite_dfilter/group_range_method.py +++ b/test/suite_dfilter/group_range_method.py @@ -46,3 +46,31 @@ class case_range(unittest.TestCase): def test_slice_func_1(self, checkDFilterSucceed): dfilter = "string(ipx.src.node)[3:2] == \"cc:dd\"" checkDFilterSucceed(dfilter) + + # [i:j] i = start_offset, j = length + # [i-j] i = start_offset, j = end_offset, inclusive. + # [i] i = start_offset, length = 1 + # [:j] start_offset = 0, length = j + # [i:] start_offset = i, end_offset = end_of_field + + def test_slice_range_1(self, checkDFilterSucceed): + # :5 is a length + dfilter = "frame[5:5] == 11:22:33:44:55" + checkDFilterSucceed(dfilter) + + def test_slice_range_2(self, checkDFilterSucceed): + # end offset is inclusive + dfilter = "frame[5-10] == 11:22:33:44:55:66" + checkDFilterSucceed(dfilter) + + def test_slice_range_3(self, checkDFilterSucceed): + dfilter = "frame[5] == 11" + checkDFilterSucceed(dfilter) + + def test_slice_range_4(self, checkDFilterSucceed): + dfilter = "frame[:20] contains be:ef" + checkDFilterSucceed(dfilter) + + def test_slice_range_5(self, checkDFilterSucceed): + dfilter = "frame[20:] contains :12345678" + checkDFilterSucceed(dfilter) |