Commit 66ee3b7d authored by Ned Nguyen's avatar Ned Nguyen Committed by Commit Bot

Fix json config of webview builder to use webview browser type

This CL also add extra validation to perf_json_config_validator script (run on PRESUBMIT) to prevent this bug from happening again

Bug:865181
Cq-Include-Trybots: master.tryserver.chromium.perf:obbs_fyi
Change-Id: Ie68f426d3e5f073c5239ef05e14b67ac89b6911b

NOTRY=true  # webkit_layout_tests flaky

Change-Id: Ie68f426d3e5f073c5239ef05e14b67ac89b6911b
Reviewed-on: https://chromium-review.googlesource.com/1142950
Commit-Queue: Ned Nguyen <nednguyen@google.com>
Reviewed-by: default avatarJuan Antonio Navarro Pérez <perezju@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576451}
parent 35b386fe
......@@ -236,8 +236,9 @@
{
"args": [
"-v",
"--browser=android-chromium",
"--browser=android-webview",
"--upload-results",
"--webview-embedder-apk=../../out/Release/apks/SystemWebViewShell.apk",
"--run-ref-build",
"--test-shard-map-filename=android_nexus5x_webview_16_shard_map.json",
"--assert-gpu-compositing"
......@@ -287,8 +288,9 @@
{
"args": [
"-v",
"--browser=android-chromium",
"--browser=android-webview",
"--upload-results",
"--webview-embedder-apk=../../out/Release/apks/SystemWebViewShell.apk",
"--run-ref-build",
"--test-shard-map-filename=android_nexus6_webview_shard_map.json",
"--assert-gpu-compositing"
......
......@@ -320,7 +320,7 @@ NEW_PERF_RECIPE_MIGRATED_TESTERS = {
],
}
],
'platform': 'android',
'platform': 'android-webview',
'dimension': {
'pool': 'chrome.tests.perf-webview',
'os': 'Android',
......@@ -341,7 +341,7 @@ NEW_PERF_RECIPE_MIGRATED_TESTERS = {
],
}
],
'platform': 'android',
'platform': 'android-webview',
'dimension': {
'pool': 'chrome.tests.perf-webview',
'os': 'Android',
......
......@@ -39,6 +39,14 @@ def _ParseShardMapFileName(args):
return options.shard_file
def _ParseBrowserFlags(args):
parser = argparse.ArgumentParser()
parser.add_argument('--browser')
parser.add_argument('--webview-embedder-apk')
options, _ = parser.parse_known_args(args)
return options
_SHARD_MAP_DIR = os.path.join(os.path.dirname(__file__), 'shard_maps')
......@@ -68,14 +76,38 @@ def _ValidateShardingData(builder_name, test_config):
repr(shard_file_name), num_shards, repr(builder_name)))
def _ValidateBrowserType(builder_name, test_config):
browser_options = _ParseBrowserFlags(test_config['args'])
if 'WebView' in builder_name or 'webview' in builder_name:
if browser_options.browser != 'android-webview':
raise ValueError("%s must use 'android-webview' browser type" %
builder_name)
if not browser_options.webview_embedder_apk:
raise ValueError('%s must set --webview-embedder-apk flag' % builder_name)
elif 'Android' in builder_name or 'android' in builder_name:
if browser_options.browser != 'android-chromium':
raise ValueError("%s must use 'android-chromium' browser" %
builder_name)
elif builder_name in ('win-10-perf', 'Win 7 Nvidia GPU Perf'):
if browser_options.browser != 'release_x64':
raise ValueError("%s must use 'release_x64' browser type" %
builder_name)
else: # The rest must be desktop/laptop builders
if browser_options.browser != 'release':
raise ValueError("%s must use 'release' browser type" %
builder_name)
def ValidateTestingBuilder(builder_name, builder_data):
isolated_scripts = builder_data['isolated_scripts']
for test_config in isolated_scripts:
_ValidateSwarmingDimension(
builder_name,
swarming_dimensions=test_config['swarming'].get('dimension_sets', {}))
if test_config['isolate_name'] == 'performance_test_suite':
if (test_config['isolate_name'] in
('performance_test_suite', 'performance_webview_test_suite')):
_ValidateShardingData(builder_name, test_config)
_ValidateBrowserType(builder_name, test_config)
def _IsBuilderName(name):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment