| Index: build/android/pylib/gtest/test_package_exe.py
|
| diff --git a/build/android/pylib/gtest/test_package_exe.py b/build/android/pylib/gtest/test_package_exe.py
|
| index b0be35ca8a47a55ed737ccbf7cb54f6a97791687..8f863f799626191511e4fc03f64322884f6b195d 100644
|
| --- a/build/android/pylib/gtest/test_package_exe.py
|
| +++ b/build/android/pylib/gtest/test_package_exe.py
|
| @@ -93,16 +93,20 @@ class TestPackageExecutable(TestPackage):
|
| sh_script_file = tempfile.NamedTemporaryFile()
|
| # We need to capture the exit status from the script since adb shell won't
|
| # propagate to us.
|
| - sh_script_file.write('cd %s\n'
|
| - '%s'
|
| - '%s %s/%s --gtest_filter=%s %s\n'
|
| - 'echo $? > %s' %
|
| - (constants.TEST_EXECUTABLE_DIR,
|
| - self._AddNativeCoverageExports(device),
|
| - tool_wrapper, constants.TEST_EXECUTABLE_DIR,
|
| - self.suite_name,
|
| - test_filter, test_arguments,
|
| - TestPackageExecutable._TEST_RUNNER_RET_VAL_FILE))
|
| + sh_script_file.write(
|
| + 'cd %s\n'
|
| + '%s'
|
| + '%s LD_LIBRARY_PATH=%s/%s_deps %s/%s --gtest_filter=%s %s\n'
|
| + 'echo $? > %s' %
|
| + (constants.TEST_EXECUTABLE_DIR,
|
| + self._AddNativeCoverageExports(device),
|
| + tool_wrapper,
|
| + constants.TEST_EXECUTABLE_DIR,
|
| + self.suite_name,
|
| + constants.TEST_EXECUTABLE_DIR,
|
| + self.suite_name,
|
| + test_filter, test_arguments,
|
| + TestPackageExecutable._TEST_RUNNER_RET_VAL_FILE))
|
| sh_script_file.flush()
|
| cmd_helper.RunCmd(['chmod', '+x', sh_script_file.name])
|
| device.PushChangedFiles([(
|
| @@ -114,12 +118,15 @@ class TestPackageExecutable(TestPackage):
|
|
|
| #override
|
| def GetAllTests(self, device):
|
| - all_tests = device.RunShellCommand(
|
| - '%s %s/%s --gtest_list_tests' %
|
| - (self.tool.GetTestWrapper(),
|
| - constants.TEST_EXECUTABLE_DIR,
|
| - self.suite_name))
|
| - return self._ParseGTestListTests(all_tests)
|
| + cmd = '%s %s/%s --gtest_list_tests' % (self.tool.GetTestWrapper(),
|
| + constants.TEST_EXECUTABLE_DIR, self.suite_name)
|
| + lib_path = '%s/%s_deps' % (constants.TEST_EXECUTABLE_DIR, self.suite_name)
|
| + (exit_code, output) = device.old_interface.GetAndroidToolStatusAndOutput(
|
| + cmd, lib_path=lib_path)
|
| + if exit_code != 0:
|
| + raise Exception(
|
| + 'Failed to start binary:\n%s' % '\n'.join(output))
|
| + return self._ParseGTestListTests(output)
|
|
|
| #override
|
| def SpawnTestProcess(self, device):
|
| @@ -147,5 +154,8 @@ class TestPackageExecutable(TestPackage):
|
| (target_name, target_mtime, self.suite_path, source_mtime,
|
| self.suite_name + '_stripped'))
|
|
|
| - test_binary = constants.TEST_EXECUTABLE_DIR + '/' + self.suite_name
|
| - device.PushChangedFiles([(target_name, test_binary)])
|
| + test_binary_path = constants.TEST_EXECUTABLE_DIR + '/' + self.suite_name
|
| + device.PushChangedFiles([(target_name, test_binary_path)])
|
| + deps_path = self.suite_path + '_deps'
|
| + if os.path.isdir(deps_path):
|
| + device.PushChangedFiles([(deps_path, test_binary_path + '_deps')])
|
|
|