# 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

[Hook Scripts]
pylint = ./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
test_lucifer = ./bin/test_lucifer
