Index: build/android/pylib/instrumentation/test_runner_test.py |
diff --git a/build/android/pylib/instrumentation/test_runner_test.py b/build/android/pylib/instrumentation/test_runner_test.py |
deleted file mode 100755 |
index fda1e23435c937019414ad3cd1ca9b1c21be5977..0000000000000000000000000000000000000000 |
--- a/build/android/pylib/instrumentation/test_runner_test.py |
+++ /dev/null |
@@ -1,275 +0,0 @@ |
-#!/usr/bin/env python |
-# Copyright 2014 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
- |
-"""Unit tests for instrumentation.TestRunner.""" |
- |
-# pylint: disable=W0212 |
- |
-import os |
-import sys |
-import unittest |
- |
-from pylib import constants |
-from pylib.base import base_test_result |
-from pylib.instrumentation import test_runner |
- |
-sys.path.append(os.path.join( |
- constants.DIR_SOURCE_ROOT, 'third_party', 'pymock')) |
-import mock # pylint: disable=F0401 |
- |
- |
-class InstrumentationTestRunnerTest(unittest.TestCase): |
- |
- def setUp(self): |
- options = mock.Mock() |
- options.tool = '' |
- package = mock.Mock() |
- self.instance = test_runner.TestRunner( |
- options, '123456789abcdef0', 0, package) |
- |
- def testParseAmInstrumentRawOutput_nothing(self): |
- code, result, statuses = ( |
- test_runner.TestRunner._ParseAmInstrumentRawOutput([''])) |
- self.assertEqual(None, code) |
- self.assertEqual([], result) |
- self.assertEqual([], statuses) |
- |
- def testParseAmInstrumentRawOutput_noMatchingStarts(self): |
- raw_output = [ |
- '', |
- 'this.is.a.test.package.TestClass:.', |
- 'Test result for =.', |
- 'Time: 1.234', |
- '', |
- 'OK (1 test)', |
- ] |
- |
- code, result, statuses = ( |
- test_runner.TestRunner._ParseAmInstrumentRawOutput(raw_output)) |
- self.assertEqual(None, code) |
- self.assertEqual([], result) |
- self.assertEqual([], statuses) |
- |
- def testParseAmInstrumentRawOutput_resultAndCode(self): |
- raw_output = [ |
- 'INSTRUMENTATION_RESULT: foo', |
- 'bar', |
- 'INSTRUMENTATION_CODE: -1', |
- ] |
- |
- code, result, _ = ( |
- test_runner.TestRunner._ParseAmInstrumentRawOutput(raw_output)) |
- self.assertEqual(-1, code) |
- self.assertEqual(['foo', 'bar'], result) |
- |
- def testParseAmInstrumentRawOutput_oneStatus(self): |
- raw_output = [ |
- 'INSTRUMENTATION_STATUS: foo=1', |
- 'INSTRUMENTATION_STATUS: bar=hello', |
- 'INSTRUMENTATION_STATUS: world=false', |
- 'INSTRUMENTATION_STATUS: class=this.is.a.test.package.TestClass', |
- 'INSTRUMENTATION_STATUS: test=testMethod', |
- 'INSTRUMENTATION_STATUS_CODE: 0', |
- ] |
- |
- _, _, statuses = ( |
- test_runner.TestRunner._ParseAmInstrumentRawOutput(raw_output)) |
- |
- expected = [ |
- (0, { |
- 'foo': ['1'], |
- 'bar': ['hello'], |
- 'world': ['false'], |
- 'class': ['this.is.a.test.package.TestClass'], |
- 'test': ['testMethod'], |
- }) |
- ] |
- self.assertEqual(expected, statuses) |
- |
- def testParseAmInstrumentRawOutput_multiStatus(self): |
- raw_output = [ |
- 'INSTRUMENTATION_STATUS: class=foo', |
- 'INSTRUMENTATION_STATUS: test=bar', |
- 'INSTRUMENTATION_STATUS_CODE: 1', |
- 'INSTRUMENTATION_STATUS: test_skipped=true', |
- 'INSTRUMENTATION_STATUS_CODE: 0', |
- 'INSTRUMENTATION_STATUS: class=hello', |
- 'INSTRUMENTATION_STATUS: test=world', |
- 'INSTRUMENTATION_STATUS: stack=', |
- 'foo/bar.py (27)', |
- 'hello/world.py (42)', |
- 'test/file.py (1)', |
- 'INSTRUMENTATION_STATUS_CODE: -1', |
- ] |
- |
- _, _, statuses = ( |
- test_runner.TestRunner._ParseAmInstrumentRawOutput(raw_output)) |
- |
- expected = [ |
- (1, {'class': ['foo'], 'test': ['bar'],}), |
- (0, {'test_skipped': ['true']}), |
- (-1, { |
- 'class': ['hello'], |
- 'test': ['world'], |
- 'stack': ['', 'foo/bar.py (27)', 'hello/world.py (42)', |
- 'test/file.py (1)'], |
- }), |
- ] |
- self.assertEqual(expected, statuses) |
- |
- def testParseAmInstrumentRawOutput_statusResultAndCode(self): |
- raw_output = [ |
- 'INSTRUMENTATION_STATUS: class=foo', |
- 'INSTRUMENTATION_STATUS: test=bar', |
- 'INSTRUMENTATION_STATUS_CODE: 1', |
- 'INSTRUMENTATION_RESULT: hello', |
- 'world', |
- '', |
- '', |
- 'INSTRUMENTATION_CODE: 0', |
- ] |
- |
- code, result, statuses = ( |
- test_runner.TestRunner._ParseAmInstrumentRawOutput(raw_output)) |
- |
- self.assertEqual(0, code) |
- self.assertEqual(['hello', 'world', '', ''], result) |
- self.assertEqual([(1, {'class': ['foo'], 'test': ['bar']})], statuses) |
- |
- def testGenerateTestResult_noStatus(self): |
- result = self.instance._GenerateTestResult( |
- 'test.package.TestClass#testMethod', [], 0, 1000) |
- self.assertEqual('test.package.TestClass#testMethod', result.GetName()) |
- self.assertEqual(base_test_result.ResultType.UNKNOWN, result.GetType()) |
- self.assertEqual('', result.GetLog()) |
- self.assertEqual(1000, result.GetDuration()) |
- |
- def testGenerateTestResult_testPassed(self): |
- statuses = [ |
- (1, { |
- 'class': ['test.package.TestClass'], |
- 'test': ['testMethod'], |
- }), |
- (0, { |
- 'class': ['test.package.TestClass'], |
- 'test': ['testMethod'], |
- }), |
- ] |
- result = self.instance._GenerateTestResult( |
- 'test.package.TestClass#testMethod', statuses, 0, 1000) |
- self.assertEqual(base_test_result.ResultType.PASS, result.GetType()) |
- |
- def testGenerateTestResult_testSkipped_first(self): |
- statuses = [ |
- (0, { |
- 'test_skipped': ['true'], |
- }), |
- (1, { |
- 'class': ['test.package.TestClass'], |
- 'test': ['testMethod'], |
- }), |
- (0, { |
- 'class': ['test.package.TestClass'], |
- 'test': ['testMethod'], |
- }), |
- ] |
- result = self.instance._GenerateTestResult( |
- 'test.package.TestClass#testMethod', statuses, 0, 1000) |
- self.assertEqual(base_test_result.ResultType.SKIP, result.GetType()) |
- |
- def testGenerateTestResult_testSkipped_last(self): |
- statuses = [ |
- (1, { |
- 'class': ['test.package.TestClass'], |
- 'test': ['testMethod'], |
- }), |
- (0, { |
- 'class': ['test.package.TestClass'], |
- 'test': ['testMethod'], |
- }), |
- (0, { |
- 'test_skipped': ['true'], |
- }), |
- ] |
- result = self.instance._GenerateTestResult( |
- 'test.package.TestClass#testMethod', statuses, 0, 1000) |
- self.assertEqual(base_test_result.ResultType.SKIP, result.GetType()) |
- |
- def testGenerateTestResult_testSkipped_false(self): |
- statuses = [ |
- (0, { |
- 'test_skipped': ['false'], |
- }), |
- (1, { |
- 'class': ['test.package.TestClass'], |
- 'test': ['testMethod'], |
- }), |
- (0, { |
- 'class': ['test.package.TestClass'], |
- 'test': ['testMethod'], |
- }), |
- ] |
- result = self.instance._GenerateTestResult( |
- 'test.package.TestClass#testMethod', statuses, 0, 1000) |
- self.assertEqual(base_test_result.ResultType.PASS, result.GetType()) |
- |
- def testGenerateTestResult_testFailed(self): |
- statuses = [ |
- (1, { |
- 'class': ['test.package.TestClass'], |
- 'test': ['testMethod'], |
- }), |
- (-2, { |
- 'class': ['test.package.TestClass'], |
- 'test': ['testMethod'], |
- }), |
- ] |
- self.instance.device.old_interface.DismissCrashDialogIfNeeded = mock.Mock( |
- return_value=None) |
- result = self.instance._GenerateTestResult( |
- 'test.package.TestClass#testMethod', statuses, 0, 1000) |
- self.assertEqual(base_test_result.ResultType.FAIL, result.GetType()) |
- |
- def testGenerateTestResult_testCrashed(self): |
- self.instance.test_pkg.GetPackageName = mock.Mock( |
- return_value='generate.test.result.test.package') |
- self.instance.device.old_interface.DismissCrashDialogIfNeeded = mock.Mock( |
- return_value='generate.test.result.test.package') |
- statuses = [ |
- (1, { |
- 'class': ['test.package.TestClass'], |
- 'test': ['testMethod'], |
- }), |
- (-1, { |
- 'class': ['test.package.TestClass'], |
- 'test': ['testMethod'], |
- 'stack': ['', 'foo/bar.py (27)', 'hello/world.py (42)'], |
- }), |
- ] |
- result = self.instance._GenerateTestResult( |
- 'test.package.TestClass#testMethod', statuses, 0, 1000) |
- self.assertEqual(base_test_result.ResultType.CRASH, result.GetType()) |
- self.assertEqual('\nfoo/bar.py (27)\nhello/world.py (42)', result.GetLog()) |
- |
- def test_RunTest_verifyAdbShellCommand(self): |
- self.instance.options.test_runner = 'MyTestRunner' |
- self.instance.device.StartInstrumentation = mock.Mock() |
- self.instance.test_pkg.GetPackageName = mock.Mock( |
- return_value='test.package') |
- self.instance._GetInstrumentationArgs = mock.Mock( |
- return_value={'test_arg_key': 'test_arg_value'}) |
- self.instance._RunTest('test.package.TestClass#testMethod', 100) |
- self.instance.device.StartInstrumentation.assert_called_with( |
- 'test.package/MyTestRunner', raw=True, |
- extras={ |
- 'test_arg_key': 'test_arg_value', |
- 'class': 'test.package.TestClass#testMethod' |
- }, |
- timeout=100, retries=0) |
- |
-if __name__ == '__main__': |
- unittest.main(verbosity=2) |
- |