| Index: reviewbot/PRESUBMIT.py
|
| ===================================================================
|
| --- reviewbot/PRESUBMIT.py (revision 216960)
|
| +++ reviewbot/PRESUBMIT.py (working copy)
|
| @@ -8,7 +8,34 @@
|
| 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 = []
|
|
|
| @@ -32,19 +59,17 @@
|
| 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.canned_checks.RunPylint(
|
| - input_api,
|
| - output_api))
|
| +
|
| + 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
|
|
|
| - output.extend(input_api.canned_checks.RunUnitTestsInDirectory(
|
| - input_api,
|
| - output_api,
|
| - '.',
|
| - whitelist=[r'.*_test\.py$']))
|
| -
|
| return output
|
|
|
|
|
|
|