]>
Commit | Line | Data |
---|---|---|
6bd430bf PD |
1 | import difflib |
2 | import dns | |
3 | import unittest | |
4 | ||
5 | class AssertEqualDNSMessageMixin(unittest.TestCase): | |
6 | def assertEqualDNSMessage(self, first, second, msg=None): | |
7 | if not first == second: | |
8 | a = str(first).split('\n') | |
9 | b = str(second).split('\n') | |
10 | ||
11 | diff = '\n'.join( | |
12 | difflib.unified_diff( | |
13 | a, | |
14 | b, | |
15 | fromfile='first', | |
16 | tofile='second', | |
17 | n=max(len(a), len(b)), | |
18 | lineterm="" | |
19 | ) | |
20 | ) | |
21 | ||
22 | standardMsg = "%s != %s:\n%s" % (repr(first), repr(second), diff) | |
23 | msg = self._formatMessage(msg, standardMsg) | |
24 | ||
25 | raise self.failureException(msg) | |
26 | ||
27 | def setUp(self): | |
28 | self.addTypeEqualityFunc(dns.message.Message, self.assertEqualDNSMessage) | |
255ec835 | 29 | self.addTypeEqualityFunc(dns.message.QueryMessage, self.assertEqualDNSMessage) |
6bd430bf | 30 | |
255ec835 | 31 | super(AssertEqualDNSMessageMixin, self).setUp() |