| Index: build/android/pylib/instrumentation/instrumentation_test_instance_test.py
|
| diff --git a/build/android/pylib/instrumentation/instrumentation_test_instance_test.py b/build/android/pylib/instrumentation/instrumentation_test_instance_test.py
|
| index 3837f1f3ab19724d6be25c99eef4fa3968473dbb..7a0b91c4c955b1dbc023f220c882f1688dc01cfd 100755
|
| --- a/build/android/pylib/instrumentation/instrumentation_test_instance_test.py
|
| +++ b/build/android/pylib/instrumentation/instrumentation_test_instance_test.py
|
| @@ -3,8 +3,9 @@
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
|
|
| +"""Unit tests for instrumentation_test_instance."""
|
|
|
| -"""Unit tests for instrumentation.TestRunner."""
|
| +# pylint: disable=protected-access
|
|
|
| import unittest
|
|
|
| @@ -22,6 +23,420 @@ class InstrumentationTestInstanceTest(unittest.TestCase):
|
| options = mock.Mock()
|
| options.tool = ''
|
|
|
| + @staticmethod
|
| + def createTestInstance():
|
| + c = ('pylib.instrumentation.instrumentation_test_instance.'
|
| + 'InstrumentationTestInstance')
|
| + with mock.patch('%s._initializeApkAttributes' % c), (
|
| + mock.patch('%s._initializeDataDependencyAttributes' % c)), (
|
| + mock.patch('%s._initializeTestFilterAttributes' % c)), (
|
| + mock.patch('%s._initializeFlagAttributes' % c)), (
|
| + mock.patch('%s._initializeDriverAttributes' % c)), (
|
| + mock.patch('%s._initializeTestControlAttributes' % c)), (
|
| + mock.patch('%s._initializeTestCoverageAttributes' % c)):
|
| + return instrumentation_test_instance.InstrumentationTestInstance(
|
| + mock.MagicMock(), mock.MagicMock(), lambda s: None)
|
| +
|
| + def testGetTests_noFilter(self):
|
| + o = self.createTestInstance()
|
| + raw_tests = [
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Foo']}},
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {'SmallTest': None},
|
| + 'method': 'testMethod1',
|
| + },
|
| + {
|
| + 'annotations': {'MediumTest': None},
|
| + 'method': 'testMethod2',
|
| + },
|
| + ],
|
| + },
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Bar']}},
|
| + 'class': 'org.chromium.test.SampleTest2',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {'SmallTest': None},
|
| + 'method': 'testMethod1',
|
| + },
|
| + ],
|
| + }
|
| + ]
|
| +
|
| + o._GetTestsFromPickle = mock.MagicMock(return_value=raw_tests)
|
| +
|
| + expected_tests = [
|
| + {
|
| + 'annotations': {
|
| + 'Feature': {'value': ['Foo']},
|
| + 'SmallTest': None,
|
| + },
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'method': 'testMethod1',
|
| + },
|
| + {
|
| + 'annotations': {
|
| + 'Feature': {'value': ['Foo']},
|
| + 'MediumTest': None,
|
| + },
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'method': 'testMethod2',
|
| + },
|
| + {
|
| + 'annotations': {
|
| + 'Feature': {'value': ['Bar']},
|
| + 'SmallTest': None,
|
| + },
|
| + 'class': 'org.chromium.test.SampleTest2',
|
| + 'method': 'testMethod1',
|
| + },
|
| + ]
|
| +
|
| + actual_tests = o.GetTests()
|
| + self.assertEquals(actual_tests, expected_tests)
|
| +
|
| + def testGetTests_simpleGtestFilter(self):
|
| + o = self.createTestInstance()
|
| + raw_tests = [
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Foo']}},
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {'SmallTest': None},
|
| + 'method': 'testMethod1',
|
| + },
|
| + {
|
| + 'annotations': {'MediumTest': None},
|
| + 'method': 'testMethod2',
|
| + },
|
| + ],
|
| + }
|
| + ]
|
| +
|
| + o._GetTestsFromPickle = mock.MagicMock(return_value=raw_tests)
|
| + o._test_filter = 'org.chromium.test.SampleTest.testMethod1'
|
| +
|
| + expected_tests = [
|
| + {
|
| + 'annotations': {
|
| + 'Feature': {'value': ['Foo']},
|
| + 'SmallTest': None,
|
| + },
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'method': 'testMethod1',
|
| + },
|
| + ]
|
| +
|
| + actual_tests = o.GetTests()
|
| + self.assertEquals(actual_tests, expected_tests)
|
| +
|
| + def testGetTests_wildcardGtestFilter(self):
|
| + o = self.createTestInstance()
|
| + raw_tests = [
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Foo']}},
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {'SmallTest': None},
|
| + 'method': 'testMethod1',
|
| + },
|
| + {
|
| + 'annotations': {'MediumTest': None},
|
| + 'method': 'testMethod2',
|
| + },
|
| + ],
|
| + },
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Bar']}},
|
| + 'class': 'org.chromium.test.SampleTest2',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {'SmallTest': None},
|
| + 'method': 'testMethod1',
|
| + },
|
| + ],
|
| + }
|
| + ]
|
| +
|
| + o._GetTestsFromPickle = mock.MagicMock(return_value=raw_tests)
|
| + o._test_filter = 'org.chromium.test.SampleTest2.*'
|
| +
|
| + expected_tests = [
|
| + {
|
| + 'annotations': {
|
| + 'Feature': {'value': ['Bar']},
|
| + 'SmallTest': None,
|
| + },
|
| + 'class': 'org.chromium.test.SampleTest2',
|
| + 'method': 'testMethod1',
|
| + },
|
| + ]
|
| +
|
| + actual_tests = o.GetTests()
|
| + self.assertEquals(actual_tests, expected_tests)
|
| +
|
| + @unittest.skip('crbug.com/623047')
|
| + def testGetTests_negativeGtestFilter(self):
|
| + o = self.createTestInstance()
|
| + raw_tests = [
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Foo']}},
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {'SmallTest': None},
|
| + 'method': 'testMethod1',
|
| + },
|
| + {
|
| + 'annotations': {'MediumTest': None},
|
| + 'method': 'testMethod2',
|
| + },
|
| + ],
|
| + },
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Bar']}},
|
| + 'class': 'org.chromium.test.SampleTest2',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {'SmallTest': None},
|
| + 'method': 'testMethod1',
|
| + },
|
| + ],
|
| + }
|
| + ]
|
| +
|
| + o._GetTestsFromPickle = mock.MagicMock(return_value=raw_tests)
|
| + o._test_filter = '*-org.chromium.test.SampleTest.testMethod1'
|
| +
|
| + expected_tests = [
|
| + {
|
| + 'annotations': {
|
| + 'Feature': {'value': ['Foo']},
|
| + 'MediumTest': None,
|
| + },
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'method': 'testMethod2',
|
| + },
|
| + {
|
| + 'annotations': {
|
| + 'Feature': {'value': ['Bar']},
|
| + 'SmallTest': None,
|
| + },
|
| + 'class': 'org.chromium.test.SampleTest2',
|
| + 'method': 'testMethod1',
|
| + },
|
| + ]
|
| +
|
| + actual_tests = o.GetTests()
|
| + self.assertEquals(actual_tests, expected_tests)
|
| +
|
| + def testGetTests_annotationFilter(self):
|
| + o = self.createTestInstance()
|
| + raw_tests = [
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Foo']}},
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {'SmallTest': None},
|
| + 'method': 'testMethod1',
|
| + },
|
| + {
|
| + 'annotations': {'MediumTest': None},
|
| + 'method': 'testMethod2',
|
| + },
|
| + ],
|
| + },
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Bar']}},
|
| + 'class': 'org.chromium.test.SampleTest2',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {'SmallTest': None},
|
| + 'method': 'testMethod1',
|
| + },
|
| + ],
|
| + }
|
| + ]
|
| +
|
| + o._GetTestsFromPickle = mock.MagicMock(return_value=raw_tests)
|
| + o._annotations = {'SmallTest': None}
|
| +
|
| + expected_tests = [
|
| + {
|
| + 'annotations': {
|
| + 'Feature': {'value': ['Foo']},
|
| + 'SmallTest': None,
|
| + },
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'method': 'testMethod1',
|
| + },
|
| + {
|
| + 'annotations': {
|
| + 'Feature': {'value': ['Bar']},
|
| + 'SmallTest': None,
|
| + },
|
| + 'class': 'org.chromium.test.SampleTest2',
|
| + 'method': 'testMethod1',
|
| + },
|
| + ]
|
| +
|
| + actual_tests = o.GetTests()
|
| + self.assertEquals(actual_tests, expected_tests)
|
| +
|
| + def testGetTests_excludedAnnotationFilter(self):
|
| + o = self.createTestInstance()
|
| + raw_tests = [
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Foo']}},
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {'SmallTest': None},
|
| + 'method': 'testMethod1',
|
| + },
|
| + {
|
| + 'annotations': {'MediumTest': None},
|
| + 'method': 'testMethod2',
|
| + },
|
| + ],
|
| + },
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Bar']}},
|
| + 'class': 'org.chromium.test.SampleTest2',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {'SmallTest': None},
|
| + 'method': 'testMethod1',
|
| + },
|
| + ],
|
| + }
|
| + ]
|
| +
|
| + o._GetTestsFromPickle = mock.MagicMock(return_value=raw_tests)
|
| + o._excluded_annotations = {'SmallTest': None}
|
| +
|
| + expected_tests = [
|
| + {
|
| + 'annotations': {
|
| + 'Feature': {'value': ['Foo']},
|
| + 'MediumTest': None,
|
| + },
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'method': 'testMethod2',
|
| + },
|
| + ]
|
| +
|
| + actual_tests = o.GetTests()
|
| + self.assertEquals(actual_tests, expected_tests)
|
| +
|
| + def testGetTests_annotationSimpleValueFilter(self):
|
| + o = self.createTestInstance()
|
| + raw_tests = [
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Foo']}},
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {
|
| + 'SmallTest': None,
|
| + 'TestValue': '1',
|
| + },
|
| + 'method': 'testMethod1',
|
| + },
|
| + {
|
| + 'annotations': {
|
| + 'MediumTest': None,
|
| + 'TestValue': '2',
|
| + },
|
| + 'method': 'testMethod2',
|
| + },
|
| + ],
|
| + },
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Bar']}},
|
| + 'class': 'org.chromium.test.SampleTest2',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {
|
| + 'SmallTest': None,
|
| + 'TestValue': '3',
|
| + },
|
| + 'method': 'testMethod1',
|
| + },
|
| + ],
|
| + }
|
| + ]
|
| +
|
| + o._GetTestsFromPickle = mock.MagicMock(return_value=raw_tests)
|
| + o._annotations = {'TestValue': '1'}
|
| +
|
| + expected_tests = [
|
| + {
|
| + 'annotations': {
|
| + 'Feature': {'value': ['Foo']},
|
| + 'SmallTest': None,
|
| + 'TestValue': '1',
|
| + },
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'method': 'testMethod1',
|
| + },
|
| + ]
|
| +
|
| + actual_tests = o.GetTests()
|
| + self.assertEquals(actual_tests, expected_tests)
|
| +
|
| + def testGetTests_annotationDictValueFilter(self):
|
| + o = self.createTestInstance()
|
| + raw_tests = [
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Foo']}},
|
| + 'class': 'org.chromium.test.SampleTest',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {'SmallTest': None},
|
| + 'method': 'testMethod1',
|
| + },
|
| + {
|
| + 'annotations': {'MediumTest': None},
|
| + 'method': 'testMethod2',
|
| + },
|
| + ],
|
| + },
|
| + {
|
| + 'annotations': {'Feature': {'value': ['Bar']}},
|
| + 'class': 'org.chromium.test.SampleTest2',
|
| + 'methods': [
|
| + {
|
| + 'annotations': {'SmallTest': None},
|
| + 'method': 'testMethod1',
|
| + },
|
| + ],
|
| + }
|
| + ]
|
| +
|
| + o._GetTestsFromPickle = mock.MagicMock(return_value=raw_tests)
|
| + o._annotations = {'Feature': 'Bar'}
|
| +
|
| + expected_tests = [
|
| + {
|
| + 'annotations': {
|
| + 'Feature': {'value': ['Bar']},
|
| + 'SmallTest': None,
|
| + },
|
| + 'class': 'org.chromium.test.SampleTest2',
|
| + 'method': 'testMethod1',
|
| + },
|
| + ]
|
| +
|
| + actual_tests = o.GetTests()
|
| + self.assertEquals(actual_tests, expected_tests)
|
| +
|
| def testGenerateTestResults_noStatus(self):
|
| results = instrumentation_test_instance.GenerateTestResults(
|
| None, None, [], 0, 1000)
|
|
|