Reland of Move side-loaded test data /sdcard -> /sdcard/chromium_tests_root
Reason for reland: Updated webview tests that broke (WebViewLayoutTest.java) And use delete_device_stale=True when pushing. This will prevent tests mistakenly passing when they depend on stale data files from a previous test. TBR=jbudorick@chromium.org,thakis@chromium.org,mef@chromium.org BUG=607169 Review-Url: https://codereview.chromium.org/2018663002 Cr-Original-Commit-Position: refs/heads/master@{#396479} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 2524a0db714a44fbce723e00f6ed914e6d143cb6
This commit is contained in:
Родитель
06819181d4
Коммит
a3802f0af2
|
@ -241,12 +241,16 @@ class LocalDeviceGtestRun(local_device_test_run.LocalDeviceTestRun):
|
||||||
|
|
||||||
def push_test_data():
|
def push_test_data():
|
||||||
# Push data dependencies.
|
# Push data dependencies.
|
||||||
external_storage = dev.GetExternalStoragePath()
|
device_root = posixpath.join(dev.GetExternalStoragePath(),
|
||||||
|
'chromium_tests_root')
|
||||||
data_deps = self._test_instance.GetDataDependencies()
|
data_deps = self._test_instance.GetDataDependencies()
|
||||||
host_device_tuples = [
|
host_device_tuples = [
|
||||||
(h, d if d is not None else external_storage)
|
(h, d if d is not None else device_root)
|
||||||
for h, d in data_deps]
|
for h, d in data_deps]
|
||||||
dev.PushChangedFiles(host_device_tuples)
|
dev.PushChangedFiles(host_device_tuples, delete_device_stale=True)
|
||||||
|
if not host_device_tuples:
|
||||||
|
dev.RunShellCommand(['rm', '-rf', device_root], check_return=True)
|
||||||
|
dev.RunShellCommand(['mkdir', '-p', device_root], check_return=True)
|
||||||
|
|
||||||
def init_tool_and_start_servers():
|
def init_tool_and_start_servers():
|
||||||
tool = self.GetTool(dev)
|
tool = self.GetTool(dev)
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import posixpath
|
||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
@ -58,11 +59,11 @@ class LocalDeviceInstrumentationTestRun(
|
||||||
return self._test_instance.suite
|
return self._test_instance.suite
|
||||||
|
|
||||||
def SetUp(self):
|
def SetUp(self):
|
||||||
def substitute_external_storage(d, external_storage):
|
def substitute_device_root(d, device_root):
|
||||||
if not d:
|
if not d:
|
||||||
return external_storage
|
return device_root
|
||||||
elif isinstance(d, list):
|
elif isinstance(d, list):
|
||||||
return '/'.join(p if p else external_storage for p in d)
|
return posixpath.join(p if p else device_root for p in d)
|
||||||
else:
|
else:
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
@ -106,14 +107,19 @@ class LocalDeviceInstrumentationTestRun(
|
||||||
check_return=True)
|
check_return=True)
|
||||||
|
|
||||||
def push_test_data():
|
def push_test_data():
|
||||||
external_storage = dev.GetExternalStoragePath()
|
device_root = posixpath.join(dev.GetExternalStoragePath(),
|
||||||
|
'chromium_tests_root')
|
||||||
host_device_tuples_substituted = [
|
host_device_tuples_substituted = [
|
||||||
(h, substitute_external_storage(d, external_storage))
|
(h, substitute_device_root(d, device_root))
|
||||||
for h, d in host_device_tuples]
|
for h, d in host_device_tuples]
|
||||||
logging.info('instrumentation data deps:')
|
logging.info('instrumentation data deps:')
|
||||||
for h, d in host_device_tuples_substituted:
|
for h, d in host_device_tuples_substituted:
|
||||||
logging.info('%r -> %r', h, d)
|
logging.info('%r -> %r', h, d)
|
||||||
dev.PushChangedFiles(host_device_tuples_substituted)
|
dev.PushChangedFiles(host_device_tuples_substituted,
|
||||||
|
delete_device_stale=True)
|
||||||
|
if not host_device_tuples_substituted:
|
||||||
|
dev.RunShellCommand(['rm', '-rf', device_root], check_return=True)
|
||||||
|
dev.RunShellCommand(['mkdir', '-p', device_root], check_return=True)
|
||||||
|
|
||||||
def create_flag_changer():
|
def create_flag_changer():
|
||||||
if self._test_instance.flags:
|
if self._test_instance.flags:
|
||||||
|
|
|
@ -230,6 +230,8 @@ class RemoteDeviceTestRun(test_run.TestRun):
|
||||||
|
|
||||||
self._app_id = self._UploadAppToDevice(app_path)
|
self._app_id = self._UploadAppToDevice(app_path)
|
||||||
|
|
||||||
|
# TODO(agrieve): If AMP is ever ressurected, this needs to be changed to put
|
||||||
|
# test files under /sdcard/gtestdata. http://crbug.com/607169
|
||||||
data_deps = self._test_instance.GetDataDependencies()
|
data_deps = self._test_instance.GetDataDependencies()
|
||||||
if data_deps:
|
if data_deps:
|
||||||
with tempfile.NamedTemporaryFile(suffix='.zip') as test_with_deps:
|
with tempfile.NamedTemporaryFile(suffix='.zip') as test_with_deps:
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
'<(DEPTH)/build/android/pylib/remote/device/dummy/dummy.gyp:require_remote_device_dummy_apk',
|
'<(DEPTH)/build/android/pylib/remote/device/dummy/dummy.gyp:require_remote_device_dummy_apk',
|
||||||
'<(DEPTH)/testing/android/appurify_support.gyp:appurify_support_java',
|
'<(DEPTH)/testing/android/appurify_support.gyp:appurify_support_java',
|
||||||
'<(DEPTH)/testing/android/on_device_instrumentation.gyp:reporter_java',
|
'<(DEPTH)/testing/android/on_device_instrumentation.gyp:reporter_java',
|
||||||
|
'<(DEPTH)/testing/android/native_test.gyp:native_test_java',
|
||||||
'<(DEPTH)/tools/android/android_tools.gyp:android_tools',
|
'<(DEPTH)/tools/android/android_tools.gyp:android_tools',
|
||||||
],
|
],
|
||||||
'conditions': [
|
'conditions': [
|
||||||
|
@ -33,8 +34,9 @@
|
||||||
'test_type': 'gtest',
|
'test_type': 'gtest',
|
||||||
'apk_name': '<(test_suite_name)',
|
'apk_name': '<(test_suite_name)',
|
||||||
'intermediate_dir': '<(PRODUCT_DIR)/<(test_suite_name)_apk',
|
'intermediate_dir': '<(PRODUCT_DIR)/<(test_suite_name)_apk',
|
||||||
|
'java_in_dir': '<(DEPTH)/build/android/empty',
|
||||||
|
'android_manifest_path%': '<(DEPTH)/testing/android/native_test/java/AndroidManifest.xml',
|
||||||
'final_apk_path': '<(intermediate_dir)/<(test_suite_name)-debug.apk',
|
'final_apk_path': '<(intermediate_dir)/<(test_suite_name)-debug.apk',
|
||||||
'java_in_dir': '<(DEPTH)/testing/android/native_test/java',
|
|
||||||
'native_lib_target': 'lib<(test_suite_name)',
|
'native_lib_target': 'lib<(test_suite_name)',
|
||||||
# TODO(yfriedman, cjhopman): Support managed installs for gtests.
|
# TODO(yfriedman, cjhopman): Support managed installs for gtests.
|
||||||
'gyp_managed_install': 0,
|
'gyp_managed_install': 0,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче