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 testGenerateTestResults_noStatus(self): | 30 def testGenerateTestResult_noStatus(self): |
31 results = instrumentation_test_instance.GenerateTestResults( | 31 result = instrumentation_test_instance.GenerateTestResult( |
32 None, None, [], 0, 1000) | 32 'test.package.TestClass#testMethod', [], 0, 1000) |
33 self.assertEqual([], results) | 33 self.assertEqual('test.package.TestClass#testMethod', result.GetName()) |
| 34 self.assertEqual(base_test_result.ResultType.UNKNOWN, result.GetType()) |
| 35 self.assertEqual('', result.GetLog()) |
| 36 self.assertEqual(1000, result.GetDuration()) |
34 | 37 |
35 def testGenerateTestResults_testPassed(self): | 38 def testGenerateTestResult_testPassed(self): |
36 statuses = [ | 39 statuses = [ |
37 (1, { | 40 (1, { |
38 'class': 'test.package.TestClass', | 41 'class': 'test.package.TestClass', |
39 'test': 'testMethod', | 42 'test': 'testMethod', |
40 }), | 43 }), |
41 (0, { | 44 (0, { |
42 'class': 'test.package.TestClass', | 45 'class': 'test.package.TestClass', |
43 'test': 'testMethod', | 46 'test': 'testMethod', |
44 }), | 47 }), |
45 ] | 48 ] |
46 results = instrumentation_test_instance.GenerateTestResults( | 49 result = instrumentation_test_instance.GenerateTestResult( |
47 None, None, statuses, 0, 1000) | 50 'test.package.TestClass#testMethod', statuses, 0, 1000) |
48 self.assertEqual(1, len(results)) | 51 self.assertEqual(base_test_result.ResultType.PASS, result.GetType()) |
49 self.assertEqual(base_test_result.ResultType.PASS, results[0].GetType()) | |
50 | 52 |
51 def testGenerateTestResults_testSkipped_true(self): | 53 def testGenerateTestResult_testSkipped_first(self): |
52 statuses = [ | 54 statuses = [ |
| 55 (0, { |
| 56 'test_skipped': 'true', |
| 57 }), |
53 (1, { | 58 (1, { |
54 'class': 'test.package.TestClass', | 59 'class': 'test.package.TestClass', |
55 'test': 'testMethod', | 60 'test': 'testMethod', |
56 }), | 61 }), |
57 (0, { | |
58 'test_skipped': 'true', | |
59 'class': 'test.package.TestClass', | |
60 'test': 'testMethod', | |
61 }), | |
62 (0, { | 62 (0, { |
63 'class': 'test.package.TestClass', | 63 'class': 'test.package.TestClass', |
64 'test': 'testMethod', | 64 'test': 'testMethod', |
65 }), | 65 }), |
66 ] | 66 ] |
67 results = instrumentation_test_instance.GenerateTestResults( | 67 result = instrumentation_test_instance.GenerateTestResult( |
68 None, None, statuses, 0, 1000) | 68 'test.package.TestClass#testMethod', statuses, 0, 1000) |
69 self.assertEqual(1, len(results)) | 69 self.assertEqual(base_test_result.ResultType.SKIP, result.GetType()) |
70 self.assertEqual(base_test_result.ResultType.SKIP, results[0].GetType()) | |
71 | 70 |
72 def testGenerateTestResults_testSkipped_false(self): | 71 def testGenerateTestResult_testSkipped_last(self): |
73 statuses = [ | 72 statuses = [ |
74 (1, { | 73 (1, { |
75 'class': 'test.package.TestClass', | 74 'class': 'test.package.TestClass', |
76 'test': 'testMethod', | 75 'test': 'testMethod', |
77 }), | 76 }), |
78 (0, { | 77 (0, { |
| 78 'class': 'test.package.TestClass', |
| 79 'test': 'testMethod', |
| 80 }), |
| 81 (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, { |
79 'test_skipped': 'false', | 92 'test_skipped': 'false', |
80 }), | 93 }), |
| 94 (1, { |
| 95 'class': 'test.package.TestClass', |
| 96 'test': 'testMethod', |
| 97 }), |
81 (0, { | 98 (0, { |
82 'class': 'test.package.TestClass', | 99 'class': 'test.package.TestClass', |
83 'test': 'testMethod', | 100 'test': 'testMethod', |
84 }), | 101 }), |
85 ] | 102 ] |
86 results = instrumentation_test_instance.GenerateTestResults( | 103 result = instrumentation_test_instance.GenerateTestResult( |
87 None, None, statuses, 0, 1000) | 104 'test.package.TestClass#testMethod', statuses, 0, 1000) |
88 self.assertEqual(1, len(results)) | 105 self.assertEqual(base_test_result.ResultType.PASS, result.GetType()) |
89 self.assertEqual(base_test_result.ResultType.PASS, results[0].GetType()) | |
90 | 106 |
91 def testGenerateTestResults_testFailed(self): | 107 def testGenerateTestResult_testFailed(self): |
92 statuses = [ | 108 statuses = [ |
93 (1, { | 109 (1, { |
94 'class': 'test.package.TestClass', | 110 'class': 'test.package.TestClass', |
95 'test': 'testMethod', | 111 'test': 'testMethod', |
96 }), | 112 }), |
97 (-2, { | 113 (-2, { |
98 'class': 'test.package.TestClass', | 114 'class': 'test.package.TestClass', |
99 'test': 'testMethod', | 115 'test': 'testMethod', |
100 }), | 116 }), |
101 ] | 117 ] |
102 results = instrumentation_test_instance.GenerateTestResults( | 118 result = instrumentation_test_instance.GenerateTestResult( |
103 None, None, statuses, 0, 1000) | 119 'test.package.TestClass#testMethod', statuses, 0, 1000) |
104 self.assertEqual(1, len(results)) | 120 self.assertEqual(base_test_result.ResultType.FAIL, result.GetType()) |
105 self.assertEqual(base_test_result.ResultType.FAIL, results[0].GetType()) | |
106 | 121 |
107 | 122 |
108 if __name__ == '__main__': | 123 if __name__ == '__main__': |
109 unittest.main(verbosity=2) | 124 unittest.main(verbosity=2) |
OLD | NEW |