test: convert suite_dfilter to use fixtures
[metze/wireshark/wip.git] / test / suite_dfilter / group_membership.py
1 # Copyright (c) 2018 Peter Wu <peter@lekensteyn.nl>
2 #
3 # SPDX-License-Identifier: GPL-2.0-or-later
4
5 import unittest
6 import fixtures
7 from suite_dfilter.dfiltertest import *
8
9
10 @fixtures.uses_fixtures
11 class case_membership(unittest.TestCase):
12     trace_file = "http.pcap"
13
14     def test_membership_1_match(self, checkDFilterCount):
15         dfilter = 'tcp.port in {80 3267}'
16         checkDFilterCount(dfilter, 1)
17
18     def test_membership_2_range_match(self, checkDFilterCount):
19         dfilter = 'tcp.port in {80..81}'
20         checkDFilterCount(dfilter, 1)
21
22     def test_membership_3_range_no_match(self, checkDFilterCount):
23         dfilter = 'tcp.dstport in {1 .. 79 81 .. 65535}'
24         checkDFilterCount(dfilter, 0)
25
26     def test_membership_4_range_no_match_multiple(self, checkDFilterCount):
27         # Verifies that multiple fields cannot satisfy different conditions.
28         dfilter = 'tcp.port in {1 .. 79 81 .. 3266 3268 .. 65535}'
29         checkDFilterCount(dfilter, 0)
30
31     def test_membership_5_negative_range_float(self, checkDFilterCount):
32         dfilter = 'frame.time_delta in {-2.0 .. 0.0}'
33         checkDFilterCount(dfilter, 1)
34
35     def test_membership_6_both_negative_range_float(self, checkDFilterCount):
36         dfilter = 'frame.time_delta in {-20 .. -.7}'
37         checkDFilterCount(dfilter, 0)
38
39     def test_membership_7_string(self, checkDFilterCount):
40         dfilter = 'http.request.method in {"GET" "HEAD"}'
41         checkDFilterCount(dfilter, 1)
42
43     def test_membership_8_ip_range(self, checkDFilterCount):
44         dfilter = 'ip.addr in { 10.0.0.5 .. 10.0.0.9 10.0.0.1..10.0.0.1 }'
45         checkDFilterCount(dfilter, 1)
46
47     def test_membership_9_range_weird_float(self, checkDFilterCount):
48         # expression should be parsed as "0.1 .. .7"
49         dfilter = 'frame.time_delta in {0.1...7}'
50         checkDFilterCount(dfilter, 0)