]> git.proxmox.com Git - mirror_edk2.git/blob - AppPkg/Applications/Python/Python-2.7.2/Lib/unittest/test/support.py
AppPkg/Applications/Python: Add Python 2.7.2 sources since the release of Python...
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / unittest / test / support.py
1 import unittest
2
3
4 class TestHashing(object):
5 """Used as a mixin for TestCase"""
6
7 # Check for a valid __hash__ implementation
8 def test_hash(self):
9 for obj_1, obj_2 in self.eq_pairs:
10 try:
11 if not hash(obj_1) == hash(obj_2):
12 self.fail("%r and %r do not hash equal" % (obj_1, obj_2))
13 except KeyboardInterrupt:
14 raise
15 except Exception, e:
16 self.fail("Problem hashing %r and %r: %s" % (obj_1, obj_2, e))
17
18 for obj_1, obj_2 in self.ne_pairs:
19 try:
20 if hash(obj_1) == hash(obj_2):
21 self.fail("%s and %s hash equal, but shouldn't" %
22 (obj_1, obj_2))
23 except KeyboardInterrupt:
24 raise
25 except Exception, e:
26 self.fail("Problem hashing %s and %s: %s" % (obj_1, obj_2, e))
27
28
29 class TestEquality(object):
30 """Used as a mixin for TestCase"""
31
32 # Check for a valid __eq__ implementation
33 def test_eq(self):
34 for obj_1, obj_2 in self.eq_pairs:
35 self.assertEqual(obj_1, obj_2)
36 self.assertEqual(obj_2, obj_1)
37
38 # Check for a valid __ne__ implementation
39 def test_ne(self):
40 for obj_1, obj_2 in self.ne_pairs:
41 self.assertNotEqual(obj_1, obj_2)
42 self.assertNotEqual(obj_2, obj_1)
43
44
45 class LoggingResult(unittest.TestResult):
46 def __init__(self, log):
47 self._events = log
48 super(LoggingResult, self).__init__()
49
50 def startTest(self, test):
51 self._events.append('startTest')
52 super(LoggingResult, self).startTest(test)
53
54 def startTestRun(self):
55 self._events.append('startTestRun')
56 super(LoggingResult, self).startTestRun()
57
58 def stopTest(self, test):
59 self._events.append('stopTest')
60 super(LoggingResult, self).stopTest(test)
61
62 def stopTestRun(self):
63 self._events.append('stopTestRun')
64 super(LoggingResult, self).stopTestRun()
65
66 def addFailure(self, *args):
67 self._events.append('addFailure')
68 super(LoggingResult, self).addFailure(*args)
69
70 def addSuccess(self, *args):
71 self._events.append('addSuccess')
72 super(LoggingResult, self).addSuccess(*args)
73
74 def addError(self, *args):
75 self._events.append('addError')
76 super(LoggingResult, self).addError(*args)
77
78 def addSkip(self, *args):
79 self._events.append('addSkip')
80 super(LoggingResult, self).addSkip(*args)
81
82 def addExpectedFailure(self, *args):
83 self._events.append('addExpectedFailure')
84 super(LoggingResult, self).addExpectedFailure(*args)
85
86 def addUnexpectedSuccess(self, *args):
87 self._events.append('addUnexpectedSuccess')
88 super(LoggingResult, self).addUnexpectedSuccess(*args)
89
90
91 class ResultWithNoStartTestRunStopTestRun(object):
92 """An object honouring TestResult before startTestRun/stopTestRun."""
93
94 def __init__(self):
95 self.failures = []
96 self.errors = []
97 self.testsRun = 0
98 self.skipped = []
99 self.expectedFailures = []
100 self.unexpectedSuccesses = []
101 self.shouldStop = False
102
103 def startTest(self, test):
104 pass
105
106 def stopTest(self, test):
107 pass
108
109 def addError(self, test):
110 pass
111
112 def addFailure(self, test):
113 pass
114
115 def addSuccess(self, test):
116 pass
117
118 def wasSuccessful(self):
119 return True