summaryrefslogtreecommitdiffstats
path: root/native_client_sdk/src/doc/PRESUBMIT.py
blob: 35d7bebe8c7d9ef985835c2f9ca4f3d640f87631 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 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)