# This config file disables some of the ChromiumOS source style checks and
# adds a hook to validate .py files. Comment out the disable-flags for
# any checks you want to leave enabled. Edit utils/pylintrc to disable any
# pylint checks.

[Hook Overrides]
cros_license_check: false
long_line_check: true

[Hook Scripts]
git_cl_presubmit = vpython $(which presubmit_support.py) $(if [[ "${PRESUBMIT_COMMIT}" = pre-submit ]]; then echo --commit; fi)
# If running in the chroot, EPYTHON ensures the wrappers don't get the wrong
# version.
pylint = EPYTHON=python2 ./utils/run_pylint.py
check_control_files = ./site_utils/presubmit_hooks/check_control_files.py
# Not enabled because it takes a few minutes. Put here for convenience
# and as a bookmark. TODO: http://crbug.com/558819 some wrapper script
# computing optimal -r options based on PRESUBMIT_FILES.
# unittest_suite = ./utils/unittest_suite.py # -r server/
check_json_files = ./site_utils/presubmit_hooks/check_json_files.py

[Hook Overrides Options]
long_line_check: --exclude_regex=\bfirmware_Cr50ConsoleCommands/pinmux$ --exclude_regex=\bcontrol(\.[\S]+)?$
