Skip to content

Commit 254dabb

Browse files
authored
Merge pull request #272 from ldx/issue230
Modified comparison of Match instances - issue230 and issue246
2 parents 6f4ac9c + 242a4f0 commit 254dabb

File tree

2 files changed

+29
-29
lines changed

2 files changed

+29
-29
lines changed

iptc/ip4tc.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -574,9 +574,7 @@ def _check_alias(self):
574574

575575
def __eq__(self, match):
576576
basesz = ct.sizeof(xt_entry_match)
577-
if (self.match.u.match_size == match.match.u.match_size and
578-
self.match.u.user.name == match.match.u.user.name and
579-
self.match.u.user.revision == match.match.u.user.revision and
577+
if (self.name == match.name and
580578
self.match_buf[basesz:self.usersize] ==
581579
match.match_buf[basesz:match.usersize]):
582580
return True

tests/test_matches.py

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def test_match_create(self):
1919
match = rule.create_match("udp")
2020

2121
for m in rule.matches:
22-
self.failUnless(m == match)
22+
self.assertEqual(m, match)
2323

2424
# check that we can change match parameters after creation
2525
match.sport = "12345:55555"
@@ -29,7 +29,7 @@ def test_match_create(self):
2929
m.sport = "12345:55555"
3030
m.dport = "!33333"
3131

32-
self.failUnless(m == match)
32+
self.assertEqual(m, match)
3333

3434
def test_match_compare(self):
3535
m1 = iptc.Match(iptc.Rule(), "udp")
@@ -40,37 +40,37 @@ def test_match_compare(self):
4040
m2.sport = "12345:55555"
4141
m2.dport = "!33333"
4242

43-
self.failUnless(m1 == m2)
43+
self.assertEqual(m1, m2)
4444

4545
m2.reset()
4646
m2.sport = "12345:55555"
4747
m2.dport = "33333"
48-
self.failIf(m1 == m2)
48+
self.assertNotEqual(m1, m2)
4949

5050
def test_match_parameters(self):
5151
m = iptc.Match(iptc.Rule(), "udp")
5252
m.sport = "12345:55555"
5353
m.dport = "!33333"
5454

55-
self.failUnless(len(m.parameters) == 2)
55+
self.assertEqual(len(m.parameters), 2)
5656

5757
for p in m.parameters:
58-
self.failUnless(p == "sport" or p == "dport")
58+
self.assertTrue(p == "sport" or p == "dport")
5959

60-
self.failUnless(m.parameters["sport"] == "12345:55555")
61-
self.failUnless(m.parameters["dport"] == "!33333")
60+
self.assertEqual(m.parameters["sport"], "12345:55555")
61+
self.assertEqual(m.parameters["dport"], "!33333")
6262

6363
m.reset()
64-
self.failUnless(len(m.parameters) == 0)
64+
self.assertEqual(len(m.parameters), 0)
6565

6666
def test_get_all_parameters(self):
6767
m = iptc.Match(iptc.Rule(), "udp")
6868
m.sport = "12345:55555"
6969
m.dport = "!33333"
7070

7171
params = m.get_all_parameters()
72-
self.assertEquals(set(params['sport']), set(['12345:55555']))
73-
self.assertEquals(set(params['dport']), set(['!', '33333']))
72+
self.assertEqual(set(params['sport']), set(['12345:55555']))
73+
self.assertEqual(set(params['dport']), set(['!', '33333']))
7474

7575

7676
class TestMultiportMatch(unittest.TestCase):
@@ -103,14 +103,14 @@ def test_multiport(self):
103103
self.chain.insert_rule(self.rule)
104104
rule = self.chain.rules[0]
105105
match = rule.matches[0]
106-
self.assertEquals(match.dports, '1111,2222')
106+
self.assertEqual(match.dports, '1111,2222')
107107

108108
def test_unicode_multiport(self):
109109
self.match.dports = u'1111,2222'
110110
self.chain.insert_rule(self.rule)
111111
rule = self.chain.rules[0]
112112
match = rule.matches[0]
113-
self.assertEquals(match.dports, '1111,2222')
113+
self.assertEqual(match.dports, '1111,2222')
114114

115115

116116
class TestXTUdpMatch(unittest.TestCase):
@@ -135,9 +135,9 @@ def test_udp_port(self):
135135
"!12345:12346", "0:1234", "! 1234", "!0:12345",
136136
"!1234:65535"]:
137137
self.match.sport = port
138-
self.assertEquals(self.match.sport, port.replace(" ", ""))
138+
self.assertEqual(self.match.sport, port.replace(" ", ""))
139139
self.match.dport = port
140-
self.assertEquals(self.match.dport, port.replace(" ", ""))
140+
self.assertEqual(self.match.dport, port.replace(" ", ""))
141141
self.match.reset()
142142
for port in ["-1", "asdf", "!asdf"]:
143143
try:
@@ -188,7 +188,7 @@ def tearDown(self):
188188
def test_mark(self):
189189
for mark in ["0x7b", "! 0x7b", "0x7b/0xfffefffe", "!0x7b/0xff00ff00"]:
190190
self.match.mark = mark
191-
self.assertEquals(self.match.mark, mark.replace(" ", ""))
191+
self.assertEqual(self.match.mark, mark.replace(" ", ""))
192192
self.match.reset()
193193
for mark in ["0xffffffffff", "123/0xffffffff1", "!asdf", "1234:1233"]:
194194
try:
@@ -232,7 +232,7 @@ def tearDown(self):
232232
def test_limit(self):
233233
for limit in ["1/sec", "5/min", "3/hour"]:
234234
self.match.limit = limit
235-
self.assertEquals(self.match.limit, limit)
235+
self.assertEqual(self.match.limit, limit)
236236
self.match.reset()
237237
for limit in ["asdf", "123/1", "!1", "!1/second"]:
238238
try:
@@ -284,7 +284,7 @@ def tearDown(self):
284284
def test_icmpv6(self):
285285
self.chain.insert_rule(self.rule)
286286
rule = self.chain.rules[0]
287-
self.assertEquals(self.rule, rule)
287+
self.assertEqual(self.rule, rule)
288288

289289

290290
class TestCommentMatch(unittest.TestCase):
@@ -310,7 +310,7 @@ def test_comment(self):
310310
self.match.reset()
311311
self.match.comment = comment
312312
self.chain.insert_rule(self.rule)
313-
self.assertEquals(self.match.comment, comment)
313+
self.assertEqual(self.match.comment, comment)
314314

315315

316316
class TestIprangeMatch(unittest.TestCase):
@@ -389,8 +389,10 @@ def test_state(self):
389389
self.chain.insert_rule(self.rule)
390390
rule = self.chain.rules[0]
391391
m = rule.matches[0]
392-
self.assertEquals(m.name, "state")
393-
self.assertEquals(m.state, "RELATED,ESTABLISHED")
392+
self.assertEqual(m.name, "state")
393+
self.assertEqual(m.state, "RELATED,ESTABLISHED")
394+
self.assertEqual(rule.matches[0].name, self.rule.matches[0].name)
395+
self.assertEqual(rule, self.rule)
394396

395397

396398
class TestXTConntrackMatch(unittest.TestCase):
@@ -425,7 +427,7 @@ def test_state(self):
425427
rule = self.chain.rules[0]
426428
m = rule.matches[0]
427429
self.assertTrue(m.name, ["conntrack"])
428-
self.assertEquals(m.ctstate, "NEW,RELATED")
430+
self.assertEqual(m.ctstate, "NEW,RELATED")
429431

430432

431433
class TestHashlimitMatch(unittest.TestCase):
@@ -464,10 +466,10 @@ def test_hashlimit(self):
464466
rule = self.chain.rules[0]
465467
m = rule.matches[0]
466468
self.assertTrue(m.name, ["hashlimit"])
467-
self.assertEquals(m.hashlimit_name, "foo")
468-
self.assertEquals(m.hashlimit_mode, "srcip")
469-
self.assertEquals(m.hashlimit_upto, "200/sec")
470-
self.assertEquals(m.hashlimit_burst, "5")
469+
self.assertEqual(m.hashlimit_name, "foo")
470+
self.assertEqual(m.hashlimit_mode, "srcip")
471+
self.assertEqual(m.hashlimit_upto, "200/sec")
472+
self.assertEqual(m.hashlimit_burst, "5")
471473

472474

473475
def suite():

0 commit comments

Comments
 (0)