aboutsummaryrefslogtreecommitdiffstats
path: root/test/suite_dfilter/dfiltertest.py
diff options
context:
space:
mode:
authorJoão Valverde <j@v6e.pt>2022-04-12 13:08:10 +0100
committerA Wireshark GitLab Utility <gerald+gitlab-utility@wireshark.org>2022-04-12 14:03:18 +0000
commit8355e9685887f64e89c2a002df6860c5e29e7d6d (patch)
tree78b0d1004f09f51c606540f7a3674f792663c5ca /test/suite_dfilter/dfiltertest.py
parent04c42eace3989c7b1c32888a9cb9625920a2424a (diff)
tests: Add test for display filter field reference
Diffstat (limited to 'test/suite_dfilter/dfiltertest.py')
-rw-r--r--test/suite_dfilter/dfiltertest.py31
1 files changed, 27 insertions, 4 deletions
diff --git a/test/suite_dfilter/dfiltertest.py b/test/suite_dfilter/dfiltertest.py
index 09ea0d966c..bdc73fd19e 100644
--- a/test/suite_dfilter/dfiltertest.py
+++ b/test/suite_dfilter/dfiltertest.py
@@ -8,18 +8,26 @@ import fixtures
@fixtures.fixture
def dfilter_cmd(cmd_tshark, capture_file, request):
- def wrapped(dfilter):
- return (
+ def wrapped(dfilter, frame_number=None):
+ cmd = [
cmd_tshark,
"-n", # No name resolution
"-r", # Next arg is trace file to read
capture_file(request.instance.trace_file),
+ ]
+ if frame_number:
+ cmd.extend([
+ "-2", # two pass mode
+ "--selected-frame={}".format(frame_number)
+ ])
+ cmd.extend([
"-Y", # packet display filter (used to be -R)
dfilter
- )
+ ])
+ print(cmd)
+ return cmd
return wrapped
-
@fixtures.fixture(scope='session')
def cmd_dftest(program):
return program('dftest')
@@ -40,6 +48,21 @@ def checkDFilterCount(dfilter_cmd, base_env):
assert dfp_count == expected_count, msg
return checkDFilterCount_real
+@fixtures.fixture
+def checkDFilterCountWithSelectedFrame(dfilter_cmd, base_env):
+ def checkDFilterCount_real(dfilter, expected_count, selected_frame):
+ """Run a display filter and expect a certain number of packets."""
+ output = subprocess.check_output(dfilter_cmd(dfilter, frame_number=selected_frame),
+ universal_newlines=True,
+ stderr=subprocess.STDOUT,
+ env=base_env)
+
+ dfp_count = output.count("\n")
+ msg = "Expected %d, got: %s\noutput: %r" % \
+ (expected_count, dfp_count, output)
+ assert dfp_count == expected_count, msg
+ return checkDFilterCount_real
+
@fixtures.fixture
def checkDFilterFail(cmd_dftest, base_env):