blob: f6a64395838041cb90e1746f90f600e050f138e0 [file] [log] [blame]
# Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
Presubmit tests for dom tools.
This file is run by git_cl or gcl when an upload or submit happens with
any files at this level or lower are in the change list.
import os
def _AnySdkFiles(input_api):
""" Returns true if any of the changed files are in the sdk, meaning we should
check that docs.dart was run.
for f in input_api.change.AffectedFiles():
if f.LocalPath().find('sdk') > -1:
return True
return False
def CheckChangeOnUpload(input_api, output_api):
results = []
# TODO(amouravski): uncomment this check once docs.dart is faster.
# if _AnySdkFiles(input_api):
# results.extend(CheckDocs(input_api, output_api))
return results
def CheckChangeOnCommit(input_api, output_api):
results = []
if _AnySdkFiles(input_api):
results.extend(CheckDocs(input_api, output_api))
return results
def CheckDocs(input_api, output_api):
"""Ensure that documentation has been generated if it needs to be generated.
Prompts with a warning if documentation needs to be generated.
results = []
cmd = [os.path.join(input_api.PresubmitLocalPath(), ''), 'test_docs']
cmd, stderr=input_api.subprocess.STDOUT)
except (OSError, input_api.subprocess.CalledProcessError), e:
('Docs test failed!%s\nYou should run ` docs`' %
(e if input_api.verbose else ''))))
return results