Merge from Chromium at DEPS revision 225410
This commit was generated by merge_to_master.py.
Change-Id: Ifa1539ca216abb163295ee7a77f81bb67f52e178
diff --git a/build/android/buildbot/OWNERS b/build/android/buildbot/OWNERS
index 45995ad..ab6eed4 100644
--- a/build/android/buildbot/OWNERS
+++ b/build/android/buildbot/OWNERS
@@ -3,3 +3,4 @@
cmp@chromium.org
ilevy@chromium.org
yfriedman@chromium.org
+navabi@chromium.org
diff --git a/build/android/buildbot/bb_device_steps.py b/build/android/buildbot/bb_device_steps.py
index 4c99591..64f9e09 100755
--- a/build/android/buildbot/bb_device_steps.py
+++ b/build/android/buildbot/bb_device_steps.py
@@ -76,6 +76,21 @@
RunCmd = bb_utils.RunCmd
+def _GetRevision(options):
+ """Get the SVN revision number.
+
+ Args:
+ options: options object.
+
+ Returns:
+ The revision number.
+ """
+ revision = options.build_properties.get('got_revision')
+ if not revision:
+ revision = options.build_properties.get('revision', 'testing')
+ return revision
+
+
# multiprocessing map_async requires a top-level function for pickle library.
def RebootDeviceSafe(device):
"""Reboot a device, wait for it to start, and squelch timeout exceptions."""
@@ -126,14 +141,16 @@
cmd.append('--num_retries=1')
RunCmd(cmd)
-def RunChromeDriverTests(_):
+def RunChromeDriverTests(options):
"""Run all the steps for running chromedriver tests."""
bb_annotations.PrintNamedStep('chromedriver_annotation')
RunCmd(['chrome/test/chromedriver/run_buildbot_steps.py',
'--android-packages=%s,%s,%s' %
(constants.PACKAGE_INFO['chromium_test_shell'].package,
constants.PACKAGE_INFO['chrome_stable'].package,
- constants.PACKAGE_INFO['chrome_beta'].package)])
+ constants.PACKAGE_INFO['chrome_beta'].package),
+ '--revision=%s' % _GetRevision(options),
+ '--update-log'])
def InstallApk(options, test, print_step=False):
"""Install an apk to all phones.
@@ -145,13 +162,6 @@
"""
if print_step:
bb_annotations.PrintNamedStep('install_%s' % test.name.lower())
- # TODO(gkanwar): Quick hack to make sure AndroidWebViewTest.apk is replaced
- # before AndroidWebView.apk is. This can be removed once the bots cycle.
- args = ['--apk', '%s.apk' % test.test_apk]
- if options.target == 'Release':
- args.append('--release')
-
- RunCmd(['build/android/adb_install_apk.py'] + args, halt_on_failure=True)
args = ['--apk', test.apk, '--apk_package', test.apk_package]
if options.target == 'Release':
@@ -362,9 +372,7 @@
link_rel_path: Link path relative to |dir_to_upload|.
gs_url: Google storage URL.
"""
- revision = options.build_properties.get('got_revision')
- if not revision:
- revision = options.build_properties.get('revision', 'testing')
+ revision = _GetRevision(options)
bot_id = options.build_properties.get('buildername', 'testing')
randhash = hashlib.sha1(str(random.random())).hexdigest()
gs_path = '%s/%s/%s/%s' % (gs_base_dir, bot_id, revision, randhash)
diff --git a/build/android/pylib/android_commands.py b/build/android/pylib/android_commands.py
index dd4de0c..9f5c2df 100644
--- a/build/android/pylib/android_commands.py
+++ b/build/android/pylib/android_commands.py
@@ -830,6 +830,10 @@
device_hash_tuples = [h for h in device_hash_tuples if HostHas(h.path)]
+ if len(host_hash_tuples) > len(device_hash_tuples):
+ logging.info('%s files do not exist on the device' %
+ (len(host_hash_tuples) - len(device_hash_tuples)))
+
# Constructs the target device path from a given host path. Don't use when
# only a single file is given as the base name given in device_path may
# differ from that in host_path.
@@ -895,10 +899,8 @@
# TODO(craigdh): Replace this educated guess with a heuristic that
# approximates the push time for each method.
if len(changed_files) > MAX_INDIVIDUAL_PUSHES or diff_size > 0.5 * size:
- # We're pushing everything, remove everything first and then create it.
self._actual_push_size += size
if os.path.isdir(host_path):
- self.RunShellCommand('rm -r %s' % device_path, timeout_time=2 * 60)
self.RunShellCommand('mkdir -p %s' % device_path)
Push(host_path, device_path)
else:
diff --git a/build/android/pylib/constants.py b/build/android/pylib/constants.py
index 163d47c..a8c0a08 100644
--- a/build/android/pylib/constants.py
+++ b/build/android/pylib/constants.py
@@ -33,13 +33,13 @@
'com.google.android.apps.chrome.tests'),
'chrome_beta': PackageInfo(
'com.chrome.beta',
- 'com.chrome.beta.Main',
+ 'com.google.android.apps.chrome.Main',
'/data/local/chrome-command-line',
'chrome_devtools_remote',
None),
'chrome_stable': PackageInfo(
'com.android.chrome',
- 'com.android.chrome.Main',
+ 'com.google.android.apps.chrome.Main',
'/data/local/chrome-command-line',
'chrome_devtools_remote',
None),
diff --git a/build/android/pylib/gtest/filter/content_browsertests_disabled b/build/android/pylib/gtest/filter/content_browsertests_disabled
index e4821aa..fd2e012 100644
--- a/build/android/pylib/gtest/filter/content_browsertests_disabled
+++ b/build/android/pylib/gtest/filter/content_browsertests_disabled
@@ -38,6 +38,11 @@
# https://codereview.chromium.org/14304004/. Investigate more.
DomSerializerTests.*
+# http://crbug.com/297230
+DumpAccessibilityTreeTest.AccessibilityCanvas
+RendererAccessibilityTest.DetachAccessibilityObject
+RendererAccessibilityTest.EditableTextModeFocusEvents
+
# http://crbug.com/187500
RenderViewImplTest.*
RendererAccessibilityTest.EditableTextModeFocusNotifications
diff --git a/build/android/pylib/gtest/filter/ui_unittests_disabled b/build/android/pylib/gtest/filter/ui_unittests_disabled
index 57db61f..73ed951 100644
--- a/build/android/pylib/gtest/filter/ui_unittests_disabled
+++ b/build/android/pylib/gtest/filter/ui_unittests_disabled
@@ -32,6 +32,7 @@
TextEliderTest.ElideEmail
TextEliderTest.ElideEmailMoreSpace
TextEliderTest.ElideRectangleText
+TextEliderTest.ElideRectangleTextCheckLineWidth
TextEliderTest.ElideRectangleTextLongWords
TextEliderTest.ElideRectangleTextPunctuation
TextEliderTest.ElideTextEllipsis
diff --git a/build/android/test_runner.py b/build/android/test_runner.py
index 5f0ec20..d7fbdaf 100755
--- a/build/android/test_runner.py
+++ b/build/android/test_runner.py
@@ -36,9 +36,6 @@
from pylib.utils import run_tests_helper
-_SDK_OUT_DIR = os.path.join(constants.DIR_SOURCE_ROOT, 'out')
-
-
def AddCommonOptions(option_parser):
"""Adds all common options to |option_parser|."""
@@ -223,8 +220,7 @@
option_parser.add_option(
'--test-apk', dest='test_apk',
help=('The name of the apk containing the tests '
- '(without the .apk extension; e.g. "ContentShellTest"). '
- 'Alternatively, this can be a full path to the apk.'))
+ '(without the .apk extension; e.g. "ContentShellTest").'))
option_parser.add_option('--coverage-dir',
help=('Directory in which to place all generated '
'EMMA coverage files.'))
@@ -260,19 +256,14 @@
if not options.test_apk:
error_func('--test-apk must be specified.')
- if os.path.exists(options.test_apk):
- # The APK is fully qualified, assume the JAR lives along side.
- options.test_apk_path = options.test_apk
- options.test_apk_jar_path = (os.path.splitext(options.test_apk_path)[0] +
- '.jar')
- else:
- options.test_apk_path = os.path.join(_SDK_OUT_DIR,
- options.build_type,
- constants.SDK_BUILD_APKS_DIR,
- '%s.apk' % options.test_apk)
- options.test_apk_jar_path = os.path.join(
- _SDK_OUT_DIR, options.build_type, constants.SDK_BUILD_TEST_JAVALIB_DIR,
- '%s.jar' % options.test_apk)
+
+ options.test_apk_path = os.path.join(constants.GetOutDirectory(),
+ constants.SDK_BUILD_APKS_DIR,
+ '%s.apk' % options.test_apk)
+ options.test_apk_jar_path = os.path.join(
+ constants.GetOutDirectory(),
+ constants.SDK_BUILD_TEST_JAVALIB_DIR,
+ '%s.jar' % options.test_apk)
return instrumentation_test_options.InstrumentationOptions(
options.tool,
@@ -337,7 +328,8 @@
options.uiautomator_jar = options.test_jar
else:
options.uiautomator_jar = os.path.join(
- _SDK_OUT_DIR, options.build_type, constants.SDK_BUILD_JAVALIB_DIR,
+ constants.GetOutDirectory(),
+ constants.SDK_BUILD_JAVALIB_DIR,
'%s.dex.jar' % options.test_jar)
options.uiautomator_info_jar = (
options.uiautomator_jar[:options.uiautomator_jar.find('.dex.jar')] +