aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorJoão Valverde <j@v6e.pt>2022-04-06 18:23:01 +0100
committerJoão Valverde <j@v6e.pt>2022-04-06 18:35:10 +0100
commit5584aba326389c622ca6c8e775c357f69a87ef67 (patch)
treee74b56f592b6c70e3a092d862b0a09d62ed6bb40 /test
parenta6f37323e612ff9b391cf0a3b3268c20d7971b22 (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.py28
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)