Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Side by Side Diff: build/android/pylib/instrumentation/instrumentation_test_instance_test.py

Issue 938883002: [Android] Rework instrumentation test skipping and result generation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698