| Index: reviewbot/PRESUBMIT.py
|
| ===================================================================
|
| --- reviewbot/PRESUBMIT.py (revision 221173)
|
| +++ reviewbot/PRESUBMIT.py (working copy)
|
| @@ -1,81 +0,0 @@
|
| -# Copyright (c) 2013 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.
|
| -
|
| -"""Top-level presubmit script for reviewbot.
|
| -
|
| -See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for
|
| -details on the presubmit API built into gcl.
|
| -"""
|
| -
|
| -def GetUnitTests(input_api, output_api, pythonpath):
|
| - """Finds all unit tests to run within the source tree."""
|
| - tests = []
|
| - for root, dirs, files in input_api.os_walk(input_api.PresubmitLocalPath()):
|
| - # Don't recurse in blacklisted directories.
|
| - blacklist = ['.svn', '.git', 'third_party']
|
| - dirs[:] = filter(lambda d : d not in blacklist, dirs)
|
| -
|
| - # Add all files ending in _test.py to the list of tests.
|
| - test_files = filter(lambda f: f.endswith('_test.py'), files)
|
| - tests.extend([input_api.os_path.join(root, f) for f in test_files])
|
| -
|
| - # A helper to augment PYTHONPATH in the unit test command environment.
|
| - def augment_pythonpath_in_environment(cmd):
|
| - env = cmd.kwargs.get('env', {})
|
| - new_env_path = input_api.os_path.pathsep.join(pythonpath)
|
| - if 'PYTHONPATH' in env:
|
| - new_env_path += input_api.os_path.pathsep + env['PYTHONPATH']
|
| - env['PYTHONPATH'] = new_env_path
|
| - cmd.kwargs['env'] = env
|
| - return cmd
|
| -
|
| - # Create the commands.
|
| - return map(
|
| - augment_pythonpath_in_environment,
|
| - input_api.canned_checks.GetUnitTests(input_api, output_api, tests))
|
| -
|
| -
|
| -def CommonChecks(input_api, output_api):
|
| - output = []
|
| -
|
| - join = input_api.os_path.join
|
| - root = input_api.PresubmitLocalPath()
|
| - while True:
|
| - if input_api.os_path.isfile(join(root, 'google_appengine', 'VERSION')):
|
| - break
|
| - next_root = input_api.os_path.dirname(root)
|
| - if next_root == root:
|
| - return [output_api.PresubmitError('Failed to find Google AppEngine SDK')]
|
| - root = next_root
|
| - input_api.logging.debug('Found GAE SDK in %s' % root)
|
| -
|
| - import sys
|
| - sys_path_backup = sys.path
|
| - try:
|
| - sys.path = [
|
| - join(root, 'google_appengine'),
|
| - join(root, 'google_appengine', 'lib'),
|
| - join(root, 'google_appengine', 'lib', 'webapp2-2.5.2'),
|
| - join(root, 'google_appengine', 'lib', 'webob-1.2.3'),
|
| - join('third_party', 'google-api-python-client'),
|
| - input_api.PresubmitLocalPath(),
|
| - ] + sys.path
|
| -
|
| - output.extend(input_api.RunTests(
|
| - input_api.canned_checks.GetPylint(
|
| - input_api,
|
| - output_api) +
|
| - GetUnitTests(input_api, output_api, sys.path)))
|
| - finally:
|
| - sys.path = sys_path_backup
|
| -
|
| - 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)
|
|
|