wireshark/test/suite_dfilter/group_time.py

119 lines
4.1 KiB
Python

# Copyright (c) 2013 by Gilbert Ramirez <gram@alumni.rice.edu>
#
# SPDX-License-Identifier: GPL-2.0-or-later
import unittest
import fixtures
from suite_dfilter.dfiltertest import *
@fixtures.uses_fixtures
class case_time(unittest.TestCase):
trace_file = "http.pcap"
def test_eq_1(self, checkDFilterCount):
dfilter = 'frame.time == "Dec 31, 2002 13:55:31.3"'
checkDFilterCount(dfilter, 1)
def test_eq_2(self, checkDFilterCount):
dfilter = 'frame.time == "Jan 31, 2002 13:55:31.3"'
checkDFilterCount(dfilter, 0)
def test_eq_3(self, checkDFilterCount):
dfilter = 'frame.time == "2002-12-31 13:55:31.3"'
checkDFilterCount(dfilter, 1)
def test_ne_1(self, checkDFilterCount):
dfilter = 'frame.time != "Dec 31, 2002 13:55:31.3"'
checkDFilterCount(dfilter, 0)
def test_ne_2(self, checkDFilterCount):
dfilter = 'frame.time != "Jan 31, 2002 13:55:31.3"'
checkDFilterCount(dfilter, 1)
def test_gt_1(self, checkDFilterCount):
dfilter = 'frame.time > "Dec 31, 2002 13:54:31.3"'
checkDFilterCount(dfilter, 1)
def test_gt_2(self, checkDFilterCount):
dfilter = 'frame.time > "Dec 31, 2002 13:55:31.3"'
checkDFilterCount(dfilter, 0)
def test_gt_3(self, checkDFilterCount):
dfilter = 'frame.time > "Dec 31, 2002 13:56:31.3"'
checkDFilterCount(dfilter, 0)
def test_ge_1(self, checkDFilterCount):
dfilter = 'frame.time >= "Dec 31, 2002 13:54:31.3"'
checkDFilterCount(dfilter, 1)
def test_ge_2(self, checkDFilterCount):
dfilter = 'frame.time >= "Dec 31, 2002 13:55:31.3"'
checkDFilterCount(dfilter, 1)
def test_ge_3(self, checkDFilterCount):
dfilter = 'frame.time >= "Dec 31, 2002 13:56:31.3"'
checkDFilterCount(dfilter, 0)
def test_lt_1(self, checkDFilterCount):
dfilter = 'frame.time < "Dec 31, 2002 13:54:31.3"'
checkDFilterCount(dfilter, 0)
def test_lt_2(self, checkDFilterCount):
dfilter = 'frame.time < "Dec 31, 2002 13:55:31.3"'
checkDFilterCount(dfilter, 0)
def test_lt_3(self, checkDFilterCount):
dfilter = 'frame.time < "Dec 31, 2002 13:56:31.3"'
checkDFilterCount(dfilter, 1)
def test_le_1(self, checkDFilterCount):
dfilter = 'frame.time <= "Dec 31, 2002 13:54:31.3"'
checkDFilterCount(dfilter, 0)
def test_le_2(self, checkDFilterCount):
dfilter = 'frame.time <= "Dec 31, 2002 13:55:31.3"'
checkDFilterCount(dfilter, 1)
def test_le_3(self, checkDFilterCount):
dfilter = 'frame.time <= "Dec 31, 2002 13:56:31.3"'
checkDFilterCount(dfilter, 1)
def test_utc_time_1(self, checkDFilterCount):
dfilter = 'frame.time == "Dec 31, 2002 13:55:31.3 UTC"'
checkDFilterCount(dfilter, 1)
def test_bad_time_1(self, checkDFilterFail):
# This is an error, only UTC timezone can be used
dfilter = 'frame.time == "Dec 31, 2002 13:56:31.3 WET"'
error = 'Unexpected data after time value'
checkDFilterFail(dfilter, error)
def test_bad_time_2(self, checkDFilterFail):
# Miliseconds can only occur after seconds.
dfilter = 'frame.time == "2002-12-31 13:55.3"'
error = 'requires a seconds field'
checkDFilterFail(dfilter, error)
def test_bad_time_3(self, checkDFilterFail):
# Reject months in a different locale (mrt is March in nl_NL.UTF-8).
dfilter = 'frame.time == "mrt 1, 2000 00:00:00"'
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"'
checkDFilterFail(dfilter, error)
@fixtures.uses_fixtures
class case_time_relative(unittest.TestCase):
trace_file = "nfs.pcap"
def test_relative_time_1(self, checkDFilterCount):
dfilter = "frame.time_delta == 0.7"
checkDFilterCount(dfilter, 1)
def test_relative_time_2(self, checkDFilterCount):
dfilter = "frame.time_delta > 0.7"
checkDFilterCount(dfilter, 0)
def test_relative_time_3(self, checkDFilterCount):
dfilter = "frame.time_delta < 0.7"
checkDFilterCount(dfilter, 1)