blob: 4bb6e3554adce606e1e697282d6cbe026aa031d5 [file] [log] [blame]
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Presubmit script for changes affecting chrome/browser/vr
See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
for more details about the presubmit API built into depot_tools.
"""
import re
# chrome/PRESUBMIT.py blocks several linters due to the infeasibility of
# enforcing them on a large codebase. Here we'll start by enforcing all
# linters, and add exclusions if necessary.
#
# Note that this list must be non-empty, or cpplint will use its default set of
# filters.
LINT_FILTERS = [
'-build/include',
]
VERBOSITY_LEVEL = 4
INCLUDE_CPP_FILES_ONLY = (r'.*\.(cc|h)$',)
def _CheckChangeLintsClean(input_api, output_api):
sources = lambda x: input_api.FilterSourceFile(
x, white_list=INCLUDE_CPP_FILES_ONLY)
return input_api.canned_checks.CheckChangeLintsClean(
input_api, output_api, sources, LINT_FILTERS, VERBOSITY_LEVEL)
def CheckChangeOnUpload(input_api, output_api):
results = []
results.extend(_CheckChangeLintsClean(input_api, output_api))
return results
def CheckChangeOnCommit(input_api, output_api):
results = []
results.extend(_CheckChangeLintsClean(input_api, output_api))
return results
def PostUploadHook(cl, change, output_api):
"""git cl upload will call this hook after the issue is created/modified.
This hook modifies the CL description in order to run extra GPU
tests (in particular, the WebGL 2.0 conformance tests) in addition
to the regular CQ try bots. This test suite is too large to run
against all Chromium commits, but should be run against changes
likely to affect these tests.
When adding/removing tests here, ensure that both gpu/PRESUBMIT.py and
ui/gl/PRESUBMIT.py are updated.
"""
return output_api.EnsureCQIncludeTrybotsAreAdded(
cl,
[
'master.tryserver.chromium.linux:linux_optional_gpu_tests_rel',
'master.tryserver.chromium.mac:mac_optional_gpu_tests_rel',
'master.tryserver.chromium.win:win_optional_gpu_tests_rel',
'master.tryserver.chromium.android:android_optional_gpu_tests_rel',
],
'Automatically added optional GPU tests to run on CQ.')