blob: 35d7bebe8c7d9ef985835c2f9ca4f3d640f87631 [file] [log] [blame]
# Copyright (c) 2012 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.
import subprocess
def _CheckSphinxBuild(input_api, output_api):
"""Check that the docs are buildable without any warnings.
This check runs sphinx-build with -W so that warning are errors.
However, since the trybots don't have sphinx installed, we'll treat a sphinx
failure as a warning. (Let's trust that the docs editors are testing locally.)
"""
try:
subprocess.check_output(['make', 'presubmit', 'SPHINXOPTS=-Wa'],
stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
return [output_api.PresubmitNotifyResult('sphinx_build failed:\n' +
e.output)]
return []
def CommonChecks(input_api, output_api):
output = []
output.extend(_CheckSphinxBuild(input_api, output_api))
return output
def CheckChangeOnUpload(input_api, output_api):
return CommonChecks(input_api, output_api)
def CheckChangeOnCommit(input_api, output_api):
return CommonChecks(input_api, output_api)