| OLD | NEW |
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Defines TestPackageApk to help run APK-based native tests.""" | |
| 6 | 5 |
| 7 import logging | 6 import logging |
| 8 import os | 7 import os |
| 9 import shlex | 8 import shlex |
| 10 import sys | 9 import sys |
| 11 import tempfile | 10 import tempfile |
| 12 import time | 11 import time |
| 13 | 12 |
| 14 from pylib import android_commands | 13 from pylib import android_commands |
| 15 from pylib import constants | 14 from pylib import constants |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 def GetAllTests(self): | 89 def GetAllTests(self): |
| 91 """Returns a list of all tests available in the test suite.""" | 90 """Returns a list of all tests available in the test suite.""" |
| 92 self._CreateTestRunnerScript('--gtest_list_tests') | 91 self._CreateTestRunnerScript('--gtest_list_tests') |
| 93 try: | 92 try: |
| 94 self.tool.SetupEnvironment() | 93 self.tool.SetupEnvironment() |
| 95 # Clear and start monitoring logcat. | 94 # Clear and start monitoring logcat. |
| 96 self._ClearFifo() | 95 self._ClearFifo() |
| 97 self._StartActivity() | 96 self._StartActivity() |
| 98 # Wait for native test to complete. | 97 # Wait for native test to complete. |
| 99 p = self._WatchFifo(timeout=30 * self.tool.GetTimeoutScale()) | 98 p = self._WatchFifo(timeout=30 * self.tool.GetTimeoutScale()) |
| 100 p.expect('<<ScopedMainEntryLogger') | 99 p.expect("<<ScopedMainEntryLogger") |
| 101 p.close() | 100 p.close() |
| 102 finally: | 101 finally: |
| 103 self.tool.CleanUpEnvironment() | 102 self.tool.CleanUpEnvironment() |
| 104 # We need to strip the trailing newline. | 103 # We need to strip the trailing newline. |
| 105 content = [line.rstrip() for line in p.before.splitlines()] | 104 content = [line.rstrip() for line in p.before.splitlines()] |
| 106 ret = self._ParseGTestListTests(content) | 105 ret = self._ParseGTestListTests(content) |
| 107 return ret | 106 return ret |
| 108 | 107 |
| 109 def CreateTestRunnerScript(self, test_filter, test_arguments): | 108 def CreateTestRunnerScript(self, gtest_filter, test_arguments): |
| 110 self._CreateTestRunnerScript('--gtest_filter=%s %s' % (test_filter, | 109 self._CreateTestRunnerScript('--gtest_filter=%s %s' % (gtest_filter, |
| 111 test_arguments)) | 110 test_arguments)) |
| 112 | 111 |
| 113 def RunTestsAndListResults(self): | 112 def RunTestsAndListResults(self): |
| 114 try: | 113 try: |
| 115 self.tool.SetupEnvironment() | 114 self.tool.SetupEnvironment() |
| 116 self._ClearFifo() | 115 self._ClearFifo() |
| 117 self._StartActivity() | 116 self._StartActivity() |
| 118 finally: | 117 finally: |
| 119 self.tool.CleanUpEnvironment() | 118 self.tool.CleanUpEnvironment() |
| 120 logfile = android_commands.NewLineNormalizer(sys.stdout) | 119 logfile = android_commands.NewLineNormalizer(sys.stdout) |
| (...skipping 12 matching lines...) Expand all Loading... |
| 133 if self._NeedsInstall(): | 132 if self._NeedsInstall(): |
| 134 # Always uninstall the previous one (by activity name); we don't | 133 # Always uninstall the previous one (by activity name); we don't |
| 135 # know what was embedded in it. | 134 # know what was embedded in it. |
| 136 self.adb.ManagedInstall(self.test_suite_full, False, | 135 self.adb.ManagedInstall(self.test_suite_full, False, |
| 137 package_name=self._apk_package_name) | 136 package_name=self._apk_package_name) |
| 138 | 137 |
| 139 def _GetTestSuiteBaseName(self): | 138 def _GetTestSuiteBaseName(self): |
| 140 """Returns the base name of the test suite.""" | 139 """Returns the base name of the test suite.""" |
| 141 # APK test suite names end with '-debug.apk' | 140 # APK test suite names end with '-debug.apk' |
| 142 return os.path.basename(self.test_suite).rsplit('-debug', 1)[0] | 141 return os.path.basename(self.test_suite).rsplit('-debug', 1)[0] |
| OLD | NEW |