]> git.proxmox.com Git - mirror_edk2.git/blob - AppPkg/Applications/Python/Python-2.7.2/Lib/unittest/test/test_skipping.py
EmbeddedPkg: Extend NvVarStoreFormattedLib LIBRARY_CLASS
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / unittest / test / test_skipping.py
1 import unittest
2
3 from .support import LoggingResult
4
5
6 class Test_TestSkipping(unittest.TestCase):
7
8 def test_skipping(self):
9 class Foo(unittest.TestCase):
10 def test_skip_me(self):
11 self.skipTest("skip")
12 events = []
13 result = LoggingResult(events)
14 test = Foo("test_skip_me")
15 test.run(result)
16 self.assertEqual(events, ['startTest', 'addSkip', 'stopTest'])
17 self.assertEqual(result.skipped, [(test, "skip")])
18
19 # Try letting setUp skip the test now.
20 class Foo(unittest.TestCase):
21 def setUp(self):
22 self.skipTest("testing")
23 def test_nothing(self): pass
24 events = []
25 result = LoggingResult(events)
26 test = Foo("test_nothing")
27 test.run(result)
28 self.assertEqual(events, ['startTest', 'addSkip', 'stopTest'])
29 self.assertEqual(result.skipped, [(test, "testing")])
30 self.assertEqual(result.testsRun, 1)
31
32 def test_skipping_decorators(self):
33 op_table = ((unittest.skipUnless, False, True),
34 (unittest.skipIf, True, False))
35 for deco, do_skip, dont_skip in op_table:
36 class Foo(unittest.TestCase):
37 @deco(do_skip, "testing")
38 def test_skip(self): pass
39
40 @deco(dont_skip, "testing")
41 def test_dont_skip(self): pass
42 test_do_skip = Foo("test_skip")
43 test_dont_skip = Foo("test_dont_skip")
44 suite = unittest.TestSuite([test_do_skip, test_dont_skip])
45 events = []
46 result = LoggingResult(events)
47 suite.run(result)
48 self.assertEqual(len(result.skipped), 1)
49 expected = ['startTest', 'addSkip', 'stopTest',
50 'startTest', 'addSuccess', 'stopTest']
51 self.assertEqual(events, expected)
52 self.assertEqual(result.testsRun, 2)
53 self.assertEqual(result.skipped, [(test_do_skip, "testing")])
54 self.assertTrue(result.wasSuccessful())
55
56 def test_skip_class(self):
57 @unittest.skip("testing")
58 class Foo(unittest.TestCase):
59 def test_1(self):
60 record.append(1)
61 record = []
62 result = unittest.TestResult()
63 test = Foo("test_1")
64 suite = unittest.TestSuite([test])
65 suite.run(result)
66 self.assertEqual(result.skipped, [(test, "testing")])
67 self.assertEqual(record, [])
68
69 def test_expected_failure(self):
70 class Foo(unittest.TestCase):
71 @unittest.expectedFailure
72 def test_die(self):
73 self.fail("help me!")
74 events = []
75 result = LoggingResult(events)
76 test = Foo("test_die")
77 test.run(result)
78 self.assertEqual(events,
79 ['startTest', 'addExpectedFailure', 'stopTest'])
80 self.assertEqual(result.expectedFailures[0][0], test)
81 self.assertTrue(result.wasSuccessful())
82
83 def test_unexpected_success(self):
84 class Foo(unittest.TestCase):
85 @unittest.expectedFailure
86 def test_die(self):
87 pass
88 events = []
89 result = LoggingResult(events)
90 test = Foo("test_die")
91 test.run(result)
92 self.assertEqual(events,
93 ['startTest', 'addUnexpectedSuccess', 'stopTest'])
94 self.assertFalse(result.failures)
95 self.assertEqual(result.unexpectedSuccesses, [test])
96 self.assertTrue(result.wasSuccessful())
97
98 def test_skip_doesnt_run_setup(self):
99 class Foo(unittest.TestCase):
100 wasSetUp = False
101 wasTornDown = False
102 def setUp(self):
103 Foo.wasSetUp = True
104 def tornDown(self):
105 Foo.wasTornDown = True
106 @unittest.skip('testing')
107 def test_1(self):
108 pass
109
110 result = unittest.TestResult()
111 test = Foo("test_1")
112 suite = unittest.TestSuite([test])
113 suite.run(result)
114 self.assertEqual(result.skipped, [(test, "testing")])
115 self.assertFalse(Foo.wasSetUp)
116 self.assertFalse(Foo.wasTornDown)
117
118 def test_decorated_skip(self):
119 def decorator(func):
120 def inner(*a):
121 return func(*a)
122 return inner
123
124 class Foo(unittest.TestCase):
125 @decorator
126 @unittest.skip('testing')
127 def test_1(self):
128 pass
129
130 result = unittest.TestResult()
131 test = Foo("test_1")
132 suite = unittest.TestSuite([test])
133 suite.run(result)
134 self.assertEqual(result.skipped, [(test, "testing")])
135
136
137 if __name__ == '__main__':
138 unittest.main()