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 a71095dc82fb49e9a909f5b18c6e3c46131aadec..9b4f9c159ed3044bee4b718968e7462349015662 100755 |
--- a/build/android/pylib/instrumentation/instrumentation_test_instance_test.py |
+++ b/build/android/pylib/instrumentation/instrumentation_test_instance_test.py |
@@ -144,10 +144,8 @@ class InstrumentationTestInstanceTest(unittest.TestCase): |
] |
o._test_jar = 'path/to/test.jar' |
- o._test_runner_junit4 = 'J4Runner' |
- with mock.patch(_INSTRUMENTATION_TEST_INSTANCE_PATH % '_GetTestsFromPickle', |
- return_value=raw_tests): |
- actual_tests = o.GetTests() |
+ o._junit4_runner_class = 'J4Runner' |
+ actual_tests = o.ProcessRawTests(raw_tests) |
self.assertEquals(actual_tests, expected_tests) |
@@ -185,10 +183,106 @@ class InstrumentationTestInstanceTest(unittest.TestCase): |
o._test_filter = 'org.chromium.test.SampleTest.testMethod1' |
o._test_jar = 'path/to/test.jar' |
- o._test_runner_junit4 = 'J4Runner' |
- with mock.patch(_INSTRUMENTATION_TEST_INSTANCE_PATH % '_GetTestsFromPickle', |
- return_value=raw_tests): |
- actual_tests = o.GetTests() |
+ o._junit4_runner_class = 'J4Runner' |
+ actual_tests = o.ProcessRawTests(raw_tests) |
+ |
+ self.assertEquals(actual_tests, expected_tests) |
+ |
+ def testGetTests_simpleGtestUnqualifiedNameFilter(self): |
+ o = self.createTestInstance() |
+ raw_tests = [ |
+ { |
+ 'annotations': {'Feature': {'value': ['Foo']}}, |
+ 'class': 'org.chromium.test.SampleTest', |
+ 'superclass': 'java.lang.Object', |
+ 'methods': [ |
+ { |
+ 'annotations': {'SmallTest': None}, |
+ 'method': 'testMethod1', |
+ }, |
+ { |
+ 'annotations': {'MediumTest': None}, |
+ 'method': 'testMethod2', |
+ }, |
+ ], |
+ } |
+ ] |
+ |
+ expected_tests = [ |
+ { |
+ 'annotations': { |
+ 'Feature': {'value': ['Foo']}, |
+ 'SmallTest': None, |
+ }, |
+ 'class': 'org.chromium.test.SampleTest', |
+ 'is_junit4': True, |
+ 'method': 'testMethod1', |
+ }, |
+ ] |
+ |
+ o._test_filter = 'SampleTest.testMethod1' |
+ o._test_jar = 'path/to/test.jar' |
+ o._junit4_runner_class = 'J4Runner' |
+ actual_tests = o.ProcessRawTests(raw_tests) |
+ |
+ self.assertEquals(actual_tests, expected_tests) |
+ |
+ def testGetTests_parameterizedTestGtestFilter(self): |
+ o = self.createTestInstance() |
+ raw_tests = [ |
+ { |
+ 'annotations': {'Feature': {'value': ['Foo']}}, |
+ 'class': 'org.chromium.test.SampleTest', |
+ 'superclass': 'java.lang.Object', |
+ 'methods': [ |
+ { |
+ 'annotations': {'SmallTest': None}, |
+ 'method': 'testMethod1', |
+ }, |
+ { |
+ 'annotations': {'SmallTest': None}, |
+ 'method': 'testMethod1__sandboxed_mode', |
+ }, |
+ ], |
+ }, |
+ { |
+ 'annotations': {'Feature': {'value': ['Bar']}}, |
+ 'class': 'org.chromium.test.SampleTest2', |
+ 'superclass': 'java.lang.Object', |
+ 'methods': [ |
+ { |
+ 'annotations': {'SmallTest': None}, |
+ 'method': 'testMethod1', |
+ }, |
+ ], |
+ } |
+ ] |
+ |
+ expected_tests = [ |
+ { |
+ 'annotations': { |
+ 'Feature': {'value': ['Foo']}, |
+ 'SmallTest': None, |
+ }, |
+ 'class': 'org.chromium.test.SampleTest', |
+ 'method': 'testMethod1', |
+ 'is_junit4': True, |
+ }, |
+ { |
+ 'annotations': { |
+ 'Feature': {'value': ['Foo']}, |
+ 'SmallTest': None, |
+ }, |
+ 'class': 'org.chromium.test.SampleTest', |
+ 'method': 'testMethod1__sandboxed_mode', |
+ 'is_junit4': True, |
+ }, |
+ ] |
+ |
+ o._test_jar = 'path/to/test.jar' |
+ o._junit4_runner_class = 'J4Runner' |
+ o._test_filter = 'org.chromium.test.SampleTest.testMethod1' |
+ actual_tests = o.ProcessRawTests(raw_tests) |
self.assertEquals(actual_tests, expected_tests) |
@@ -237,10 +331,8 @@ class InstrumentationTestInstanceTest(unittest.TestCase): |
o._test_filter = 'org.chromium.test.SampleTest2.*' |
o._test_jar = 'path/to/test.jar' |
- o._test_runner_junit4 = 'J4Runner' |
- with mock.patch(_INSTRUMENTATION_TEST_INSTANCE_PATH % '_GetTestsFromPickle', |
- return_value=raw_tests): |
- actual_tests = o.GetTests() |
+ o._junit4_runner_class = 'J4Runner' |
+ actual_tests = o.ProcessRawTests(raw_tests) |
self.assertEquals(actual_tests, expected_tests) |
@@ -298,10 +390,8 @@ class InstrumentationTestInstanceTest(unittest.TestCase): |
o._test_filter = '*-org.chromium.test.SampleTest.testMethod1' |
o._test_jar = 'path/to/test.jar' |
- o._test_runner_junit4 = 'J4Runner' |
- with mock.patch(_INSTRUMENTATION_TEST_INSTANCE_PATH % '_GetTestsFromPickle', |
- return_value=raw_tests): |
- actual_tests = o.GetTests() |
+ o._junit4_runner_class = 'J4Runner' |
+ actual_tests = o.ProcessRawTests(raw_tests) |
self.assertEquals(actual_tests, expected_tests) |
@@ -359,10 +449,8 @@ class InstrumentationTestInstanceTest(unittest.TestCase): |
o._annotations = [('SmallTest', None)] |
o._test_jar = 'path/to/test.jar' |
- o._test_runner_junit4 = 'J4Runner' |
- with mock.patch(_INSTRUMENTATION_TEST_INSTANCE_PATH % '_GetTestsFromPickle', |
- return_value=raw_tests): |
- actual_tests = o.GetTests() |
+ o._junit4_runner_class = 'J4Runner' |
+ actual_tests = o.ProcessRawTests(raw_tests) |
self.assertEquals(actual_tests, expected_tests) |
@@ -411,10 +499,8 @@ class InstrumentationTestInstanceTest(unittest.TestCase): |
o._excluded_annotations = [('SmallTest', None)] |
o._test_jar = 'path/to/test.jar' |
- o._test_runner_junit4 = 'J4Runner' |
- with mock.patch(_INSTRUMENTATION_TEST_INSTANCE_PATH % '_GetTestsFromPickle', |
- return_value=raw_tests): |
- actual_tests = o.GetTests() |
+ o._junit4_runner_class = 'J4Runner' |
+ actual_tests = o.ProcessRawTests(raw_tests) |
self.assertEquals(actual_tests, expected_tests) |
@@ -473,10 +559,8 @@ class InstrumentationTestInstanceTest(unittest.TestCase): |
o._annotations = [('TestValue', '1')] |
o._test_jar = 'path/to/test.jar' |
- o._test_runner_junit4 = 'J4Runner' |
- with mock.patch(_INSTRUMENTATION_TEST_INSTANCE_PATH % '_GetTestsFromPickle', |
- return_value=raw_tests): |
- actual_tests = o.GetTests() |
+ o._junit4_runner_class = 'J4Runner' |
+ actual_tests = o.ProcessRawTests(raw_tests) |
self.assertEquals(actual_tests, expected_tests) |
@@ -525,13 +609,75 @@ class InstrumentationTestInstanceTest(unittest.TestCase): |
o._annotations = [('Feature', 'Bar')] |
o._test_jar = 'path/to/test.jar' |
- o._test_runner_junit4 = 'J4Runner' |
- with mock.patch(_INSTRUMENTATION_TEST_INSTANCE_PATH % '_GetTestsFromPickle', |
- return_value=raw_tests): |
- actual_tests = o.GetTests() |
+ o._junit4_runner_class = 'J4Runner' |
+ actual_tests = o.ProcessRawTests(raw_tests) |
self.assertEquals(actual_tests, expected_tests) |
+ def testGetTestName(self): |
+ test = { |
+ 'annotations': { |
+ 'RunWith': {'value': 'class J4Runner'}, |
+ 'SmallTest': {}, |
+ 'Test': {'expected': 'class org.junit.Test$None', |
+ 'timeout': '0'}, |
+ 'UiThreadTest': {}}, |
+ 'class': 'org.chromium.TestA', |
+ 'is_junit4': True, |
+ 'method': 'testSimple'} |
+ unqualified_class_test = { |
+ 'class': test['class'].split('.')[-1], |
+ 'method': test['method'] |
+ } |
+ |
+ self.assertEquals( |
+ instrumentation_test_instance.GetTestName(test, sep='.'), |
+ 'org.chromium.TestA.testSimple') |
+ self.assertEquals( |
+ instrumentation_test_instance.GetTestName( |
+ unqualified_class_test, sep='.'), |
+ 'TestA.testSimple') |
+ |
+ def testGetUniqueTestName(self): |
+ test = { |
+ 'annotations': { |
+ 'RunWith': {'value': 'class J4Runner'}, |
+ 'SmallTest': {}, |
+ 'Test': {'expected': 'class org.junit.Test$None', 'timeout': '0'}, |
+ 'UiThreadTest': {}}, |
+ 'class': 'org.chromium.TestA', |
+ 'flags': ['enable_features=abc'], |
+ 'is_junit4': True, |
+ 'method': 'testSimple'} |
+ self.assertEquals( |
+ instrumentation_test_instance.GetUniqueTestName( |
+ test, sep='.'), |
+ 'org.chromium.TestA.testSimple with enable_features=abc') |
+ |
+ def testGetTestNameWithoutParameterPostfix(self): |
+ test = { |
+ 'annotations': { |
+ 'RunWith': {'value': 'class J4Runner'}, |
+ 'SmallTest': {}, |
+ 'Test': {'expected': 'class org.junit.Test$None', 'timeout': '0'}, |
+ 'UiThreadTest': {}}, |
+ 'class': 'org.chromium.TestA__sandbox_mode', |
+ 'flags': 'enable_features=abc', |
+ 'is_junit4': True, |
+ 'method': 'testSimple'} |
+ unqualified_class_test = { |
+ 'class': test['class'].split('.')[-1], |
+ 'method': test['method'] |
+ } |
+ self.assertEquals( |
+ instrumentation_test_instance.GetTestNameWithoutParameterPostfix( |
+ test, sep='.'), |
+ 'org.chromium.TestA') |
+ self.assertEquals( |
+ instrumentation_test_instance.GetTestNameWithoutParameterPostfix( |
+ unqualified_class_test, sep='.'), |
+ 'TestA') |
+ |
def testGetTests_multipleAnnotationValuesRequested(self): |
o = self.createTestInstance() |
raw_tests = [ |
@@ -589,10 +735,8 @@ class InstrumentationTestInstanceTest(unittest.TestCase): |
o._annotations = [('Feature', 'Bar'), ('Feature', 'Baz')] |
o._test_jar = 'path/to/test.jar' |
- o._test_runner_junit4 = 'J4Runner' |
- with mock.patch(_INSTRUMENTATION_TEST_INSTANCE_PATH % '_GetTestsFromPickle', |
- return_value=raw_tests): |
- actual_tests = o.GetTests() |
+ o._junit4_runner_class = 'J4Runner' |
+ actual_tests = o.ProcessRawTests(raw_tests) |
self.assertEquals(actual_tests, expected_tests) |
@@ -764,10 +908,8 @@ class InstrumentationTestInstanceTest(unittest.TestCase): |
'method': 'testMethod2'}] |
o._test_jar = 'path/to/test.jar' |
- o._test_runner_junit4 = 'J4Runner' |
- with mock.patch(_INSTRUMENTATION_TEST_INSTANCE_PATH % '_GetTestsFromPickle', |
- return_value=raw_tests): |
- actual_tests = o.GetTests() |
+ o._junit4_runner_class = 'J4Runner' |
+ actual_tests = o.ProcessRawTests(raw_tests) |
self.assertEquals(actual_tests, expected_tests) |
def testCommandLineParameterization_skipped(self): |
@@ -820,10 +962,8 @@ class InstrumentationTestInstanceTest(unittest.TestCase): |
'method': 'testMethod2'}] |
o._test_jar = 'path/to/test.jar' |
- o._test_runner_junit4 = 'J4Runner' |
- with mock.patch(_INSTRUMENTATION_TEST_INSTANCE_PATH % '_GetTestsFromPickle', |
- return_value=raw_tests): |
- actual_tests = o.GetTests() |
+ o._junit4_runner_class = 'J4Runner' |
+ actual_tests = o.ProcessRawTests(raw_tests) |
self.assertEquals(actual_tests, expected_tests) |
if __name__ == '__main__': |