OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2014 The Chromium Authors. All rights reserved. | 2 # Copyright 2014 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 | 6 |
7 """Unit tests for instrumentation.TestRunner.""" | 7 """Unit tests for instrumentation.TestRunner.""" |
8 | 8 |
9 # pylint: disable=W0212 | 9 # pylint: disable=W0212 |
10 | 10 |
11 import os | 11 import os |
12 import sys | 12 import sys |
13 import unittest | 13 import unittest |
14 | 14 |
15 from pylib import constants | 15 from pylib import constants |
16 from pylib.base import base_test_result | 16 from pylib.base import base_test_result |
17 from pylib.instrumentation import instrumentation_test_instance | 17 from pylib.instrumentation import instrumentation_test_instance |
18 | 18 |
19 sys.path.append(os.path.join( | 19 sys.path.append(os.path.join( |
20 constants.DIR_SOURCE_ROOT, 'third_party', 'pymock')) | 20 constants.DIR_SOURCE_ROOT, 'third_party', 'pymock')) |
21 import mock # pylint: disable=F0401 | 21 import mock # pylint: disable=F0401 |
22 | 22 |
23 | 23 |
24 class InstrumentationTestInstanceTest(unittest.TestCase): | 24 class InstrumentationTestInstanceTest(unittest.TestCase): |
25 | 25 |
26 def setUp(self): | 26 def setUp(self): |
27 options = mock.Mock() | 27 options = mock.Mock() |
28 options.tool = '' | 28 options.tool = '' |
29 | 29 |
30 def testGenerateTestResult_noStatus(self): | 30 def testGenerateTestResults_noStatus(self): |
31 result = instrumentation_test_instance.GenerateTestResult( | 31 results = instrumentation_test_instance.GenerateTestResults( |
32 'test.package.TestClass#testMethod', [], 0, 1000) | 32 None, None, [], 0, 1000) |
33 self.assertEqual('test.package.TestClass#testMethod', result.GetName()) | 33 self.assertEqual([], results) |
34 self.assertEqual(base_test_result.ResultType.UNKNOWN, result.GetType()) | |
35 self.assertEqual('', result.GetLog()) | |
36 self.assertEqual(1000, result.GetDuration()) | |
37 | 34 |
38 def testGenerateTestResult_testPassed(self): | 35 def testGenerateTestResults_testPassed(self): |
39 statuses = [ | 36 statuses = [ |
40 (1, { | 37 (1, { |
41 'class': 'test.package.TestClass', | 38 'class': 'test.package.TestClass', |
42 'test': 'testMethod', | 39 'test': 'testMethod', |
43 }), | 40 }), |
44 (0, { | 41 (0, { |
45 'class': 'test.package.TestClass', | 42 'class': 'test.package.TestClass', |
46 'test': 'testMethod', | 43 'test': 'testMethod', |
47 }), | 44 }), |
48 ] | 45 ] |
49 result = instrumentation_test_instance.GenerateTestResult( | 46 results = instrumentation_test_instance.GenerateTestResults( |
50 'test.package.TestClass#testMethod', statuses, 0, 1000) | 47 None, None, statuses, 0, 1000) |
51 self.assertEqual(base_test_result.ResultType.PASS, result.GetType()) | 48 self.assertEqual(1, len(results)) |
| 49 self.assertEqual(base_test_result.ResultType.PASS, results[0].GetType()) |
52 | 50 |
53 def testGenerateTestResult_testSkipped_first(self): | 51 def testGenerateTestResults_testSkipped_true(self): |
54 statuses = [ | 52 statuses = [ |
55 (0, { | |
56 'test_skipped': 'true', | |
57 }), | |
58 (1, { | 53 (1, { |
59 'class': 'test.package.TestClass', | 54 'class': 'test.package.TestClass', |
60 'test': 'testMethod', | 55 'test': 'testMethod', |
61 }), | 56 }), |
62 (0, { | 57 (0, { |
| 58 'test_skipped': 'true', |
63 'class': 'test.package.TestClass', | 59 'class': 'test.package.TestClass', |
64 'test': 'testMethod', | 60 'test': 'testMethod', |
65 }), | 61 }), |
66 ] | |
67 result = instrumentation_test_instance.GenerateTestResult( | |
68 'test.package.TestClass#testMethod', statuses, 0, 1000) | |
69 self.assertEqual(base_test_result.ResultType.SKIP, result.GetType()) | |
70 | |
71 def testGenerateTestResult_testSkipped_last(self): | |
72 statuses = [ | |
73 (1, { | |
74 'class': 'test.package.TestClass', | |
75 'test': 'testMethod', | |
76 }), | |
77 (0, { | 62 (0, { |
78 'class': 'test.package.TestClass', | 63 'class': 'test.package.TestClass', |
79 'test': 'testMethod', | 64 'test': 'testMethod', |
80 }), | 65 }), |
| 66 ] |
| 67 results = instrumentation_test_instance.GenerateTestResults( |
| 68 None, None, statuses, 0, 1000) |
| 69 self.assertEqual(1, len(results)) |
| 70 self.assertEqual(base_test_result.ResultType.SKIP, results[0].GetType()) |
| 71 |
| 72 def testGenerateTestResults_testSkipped_false(self): |
| 73 statuses = [ |
| 74 (1, { |
| 75 'class': 'test.package.TestClass', |
| 76 'test': 'testMethod', |
| 77 }), |
81 (0, { | 78 (0, { |
82 'test_skipped': 'true', | |
83 }), | |
84 ] | |
85 result = instrumentation_test_instance.GenerateTestResult( | |
86 'test.package.TestClass#testMethod', statuses, 0, 1000) | |
87 self.assertEqual(base_test_result.ResultType.SKIP, result.GetType()) | |
88 | |
89 def testGenerateTestResult_testSkipped_false(self): | |
90 statuses = [ | |
91 (0, { | |
92 'test_skipped': 'false', | 79 'test_skipped': 'false', |
93 }), | 80 }), |
94 (1, { | |
95 'class': 'test.package.TestClass', | |
96 'test': 'testMethod', | |
97 }), | |
98 (0, { | 81 (0, { |
99 'class': 'test.package.TestClass', | 82 'class': 'test.package.TestClass', |
100 'test': 'testMethod', | 83 'test': 'testMethod', |
101 }), | 84 }), |
102 ] | 85 ] |
103 result = instrumentation_test_instance.GenerateTestResult( | 86 results = instrumentation_test_instance.GenerateTestResults( |
104 'test.package.TestClass#testMethod', statuses, 0, 1000) | 87 None, None, statuses, 0, 1000) |
105 self.assertEqual(base_test_result.ResultType.PASS, result.GetType()) | 88 self.assertEqual(1, len(results)) |
| 89 self.assertEqual(base_test_result.ResultType.PASS, results[0].GetType()) |
106 | 90 |
107 def testGenerateTestResult_testFailed(self): | 91 def testGenerateTestResults_testFailed(self): |
108 statuses = [ | 92 statuses = [ |
109 (1, { | 93 (1, { |
110 'class': 'test.package.TestClass', | 94 'class': 'test.package.TestClass', |
111 'test': 'testMethod', | 95 'test': 'testMethod', |
112 }), | 96 }), |
113 (-2, { | 97 (-2, { |
114 'class': 'test.package.TestClass', | 98 'class': 'test.package.TestClass', |
115 'test': 'testMethod', | 99 'test': 'testMethod', |
116 }), | 100 }), |
117 ] | 101 ] |
118 result = instrumentation_test_instance.GenerateTestResult( | 102 results = instrumentation_test_instance.GenerateTestResults( |
119 'test.package.TestClass#testMethod', statuses, 0, 1000) | 103 None, None, statuses, 0, 1000) |
120 self.assertEqual(base_test_result.ResultType.FAIL, result.GetType()) | 104 self.assertEqual(1, len(results)) |
| 105 self.assertEqual(base_test_result.ResultType.FAIL, results[0].GetType()) |
121 | 106 |
122 | 107 |
123 if __name__ == '__main__': | 108 if __name__ == '__main__': |
124 unittest.main(verbosity=2) | 109 unittest.main(verbosity=2) |
OLD | NEW |