sq epan/dissectors/pidl/drsuapi/drsuapi.cnf c99
[wireshark-sm.git] / test / suite_dfilter / group_time.py
blob5737ead56420cef737b2faa6944a349231dba486
1 # Copyright (c) 2013 by Gilbert Ramirez <gram@alumni.rice.edu>
3 # SPDX-License-Identifier: GPL-2.0-or-later
5 import pytest
6 from suite_dfilter.dfiltertest import *
9 class TestDfilterTime:
10 trace_file = "http.pcap"
12 def test_eq_1(self, checkDFilterCount):
13 dfilter = 'frame.time == "Dec 31, 2002 13:55:31.3"'
14 checkDFilterCount(dfilter, 1)
16 def test_eq_2(self, checkDFilterCount):
17 dfilter = 'frame.time == "Jan 31, 2002 13:55:31.3"'
18 checkDFilterCount(dfilter, 0)
20 def test_eq_3(self, checkDFilterCount):
21 dfilter = 'frame.time == "2002-12-31 13:55:31.3"'
22 checkDFilterCount(dfilter, 1)
24 def test_eq_4(self, checkDFilterCount):
25 dfilter = 'frame.time == 1041342931.3'
26 checkDFilterCount(dfilter, 1)
28 def test_ne_1(self, checkDFilterCount):
29 dfilter = 'frame.time != "Dec 31, 2002 13:55:31.3"'
30 checkDFilterCount(dfilter, 0)
32 def test_ne_2(self, checkDFilterCount):
33 dfilter = 'frame.time != "Jan 31, 2002 13:55:31.3"'
34 checkDFilterCount(dfilter, 1)
36 def test_gt_1(self, checkDFilterCount):
37 dfilter = 'frame.time > "Dec 31, 2002 13:54:31.3"'
38 checkDFilterCount(dfilter, 1)
40 def test_gt_2(self, checkDFilterCount):
41 dfilter = 'frame.time > "Dec 31, 2002 13:55:31.3"'
42 checkDFilterCount(dfilter, 0)
44 def test_gt_3(self, checkDFilterCount):
45 dfilter = 'frame.time > "Dec 31, 2002 13:56:31.3"'
46 checkDFilterCount(dfilter, 0)
48 def test_ge_1(self, checkDFilterCount):
49 dfilter = 'frame.time >= "Dec 31, 2002 13:54:31.3"'
50 checkDFilterCount(dfilter, 1)
52 def test_ge_2(self, checkDFilterCount):
53 dfilter = 'frame.time >= "Dec 31, 2002 13:55:31.3"'
54 checkDFilterCount(dfilter, 1)
56 def test_ge_3(self, checkDFilterCount):
57 dfilter = 'frame.time >= "Dec 31, 2002 13:56:31.3"'
58 checkDFilterCount(dfilter, 0)
60 def test_lt_1(self, checkDFilterCount):
61 dfilter = 'frame.time < "Dec 31, 2002 13:54:31.3"'
62 checkDFilterCount(dfilter, 0)
64 def test_lt_2(self, checkDFilterCount):
65 dfilter = 'frame.time < "Dec 31, 2002 13:55:31.3"'
66 checkDFilterCount(dfilter, 0)
68 def test_lt_3(self, checkDFilterCount):
69 dfilter = 'frame.time < "Dec 31, 2002 13:56:31.3"'
70 checkDFilterCount(dfilter, 1)
72 def test_le_1(self, checkDFilterCount):
73 dfilter = 'frame.time <= "Dec 31, 2002 13:54:31.3"'
74 checkDFilterCount(dfilter, 0)
76 def test_le_2(self, checkDFilterCount):
77 dfilter = 'frame.time <= "Dec 31, 2002 13:55:31.3"'
78 checkDFilterCount(dfilter, 1)
80 def test_le_3(self, checkDFilterCount):
81 dfilter = 'frame.time <= "Dec 31, 2002 13:56:31.3"'
82 checkDFilterCount(dfilter, 1)
84 def test_utc_time_1(self, checkDFilterCount):
85 dfilter = 'frame.time == "Dec 31, 2002 13:55:31.3 UTC"'
86 checkDFilterCount(dfilter, 1)
88 def test_utc_time_2(self, checkDFilterCount):
89 dfilter = 'frame.time == "2002-12-31 13:55:31.3 UTC"'
90 checkDFilterCount(dfilter, 1)
92 def test_bad_time_2(self, checkDFilterFail):
93 # Miliseconds can only occur after seconds.
94 dfilter = 'frame.time == "2002-12-31 13:55.3"'
95 error = 'requires a seconds field'
96 checkDFilterFail(dfilter, error)
98 def test_bad_time_3(self, checkDFilterFail):
99 # Reject months in a different locale (mrt is March in nl_NL.UTF-8).
100 dfilter = 'frame.time == "mrt 1, 2000 00:00:00"'
101 error = '"mrt 1, 2000 00:00:00" is not a valid absolute time. Example: "Nov 12, 1999 08:55:44.123" or "2011-07-04 12:34:56"'
102 checkDFilterFail(dfilter, error)
104 class TestDfilterTimeRelative:
105 trace_file = "nfs.pcap"
107 def test_relative_time_1(self, checkDFilterCount):
108 dfilter = "frame.time_delta == 0.7"
109 checkDFilterCount(dfilter, 1)
111 def test_relative_time_2(self, checkDFilterCount):
112 dfilter = "frame.time_delta > 0.7"
113 checkDFilterCount(dfilter, 0)
115 def test_relative_time_3(self, checkDFilterCount):
116 dfilter = "frame.time_delta < 0.7"
117 checkDFilterCount(dfilter, 1)
119 class TestDfilterTimezone:
120 trace_file = "http.pcap"
122 # These are all the same value expressed in different
123 # ways and timezones
125 def test_time_1(self, checkDFilterCount):
126 dfilter = 'frame.time == "2002-12-31 13:55:31.3"'
127 checkDFilterCount(dfilter, 1)
129 def test_time_2(self, checkDFilterCount):
130 dfilter = 'frame.time == "2002-12-31 13:55:31.3Z"'
131 checkDFilterCount(dfilter, 1)
133 def test_time_3(self, checkDFilterCount):
134 dfilter = 'frame.time == "2002-12-31 15:55:31.3 +02:00"'
135 checkDFilterCount(dfilter, 1)
137 def test_time_4(self, checkDFilterCount):
138 # Foxtrot time zone
139 dfilter = 'frame.time == "2002-12-31 19:55:31.3 F"'
140 checkDFilterCount(dfilter, 1)
142 def test_time_5(self, checkDFilterCount):
143 dfilter = 'frame.time == "2002-12-31 05:55:31.3 PST"'
144 checkDFilterCount(dfilter, 1)
146 def test_time_6(self, checkDFilterCount):
147 dfilter = 'frame.time == "2002-12-31 07:55:31.3 CST"'
148 checkDFilterCount(dfilter, 1)
150 class TestDfilterTimeArithmetic:
151 trace_file = "sip-rtp.pcapng"
153 def test_time_math_1(self, checkDFilterCountWithSelectedFrame):
154 dfilter = 'frame.time_relative > ${frame.time_relative} + 10'
155 # select frame 4, expect 425 frames out of 562.
156 checkDFilterCountWithSelectedFrame(dfilter, 425, 4)
158 def test_time_math_2(self, checkDFilterCountWithSelectedFrame):
159 dfilter = 'frame.time_relative > ${frame.time_relative} - 2'
160 # select frame 14, expect 557 frames out of 562.
161 checkDFilterCountWithSelectedFrame(dfilter, 557, 14)
163 def test_time_math_3(self, checkDFilterCountWithSelectedFrame):
164 dfilter = 'frame.time_relative > ${frame.time_relative} * 2'
165 # select frame 4, expect 557 frames out of 562.
166 checkDFilterCountWithSelectedFrame(dfilter, 557, 4)
168 def test_time_math_4(self, checkDFilterCountWithSelectedFrame):
169 dfilter = 'frame.time_relative > ${frame.time_relative} / 3'
170 # select frame 532, expect 495 frames out of 562.
171 checkDFilterCountWithSelectedFrame(dfilter, 495, 532)
173 def test_time_math_5(self, checkDFilterCountWithSelectedFrame):
174 dfilter = 'frame.time_relative > ${frame.time_relative} * 2.5'
175 # select frame 8, expect 355 frames out of 562.
176 checkDFilterCountWithSelectedFrame(dfilter, 355, 8)
178 def test_time_math_6(self, checkDFilterCountWithSelectedFrame):
179 dfilter = 'frame.time_relative > ${frame.time_relative} / 2.5'
180 # select frame 440, expect 483 frames out of 562.
181 checkDFilterCountWithSelectedFrame(dfilter, 483, 440)