| Index: testing/scripts/checkdeps.py
|
| diff --git a/testing/scripts/checkdeps.py b/testing/scripts/checkdeps.py
|
| index d6140dac127c1f9ebb0cf3af04003f756263aad6..83abfdf53b063080799b5f6989902ee00291a1f8 100755
|
| --- a/testing/scripts/checkdeps.py
|
| +++ b/testing/scripts/checkdeps.py
|
| @@ -3,18 +3,41 @@
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
|
|
| +import argparse
|
| +import contextlib
|
| import json
|
| import os
|
| +import subprocess
|
| import sys
|
| +import tempfile
|
|
|
|
|
| -import common
|
| +SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__))
|
| +SRC_DIR = os.path.abspath(
|
| + os.path.join(SCRIPT_DIR, os.path.pardir, os.path.pardir))
|
|
|
|
|
| -def main_run(args):
|
| - with common.temporary_file() as tempfile_path:
|
| - rc = common.run_command([
|
| - os.path.join(common.SRC_DIR, 'buildtools', 'checkdeps', 'checkdeps.py'),
|
| +def run_command(argv):
|
| + print 'Running %r' % argv
|
| + rc = subprocess.call(argv)
|
| + print 'Command %r returned exit code %d' % (argv, rc)
|
| + return rc
|
| +
|
| +
|
| +@contextlib.contextmanager
|
| +def temporary_file():
|
| + fd, path = tempfile.mkstemp()
|
| + os.close(fd)
|
| + try:
|
| + yield path
|
| + finally:
|
| + os.remove(path)
|
| +
|
| +
|
| +def mode_run(args):
|
| + with temporary_file() as tempfile_path:
|
| + rc = run_command([
|
| + os.path.join(SRC_DIR, 'buildtools', 'checkdeps', 'checkdeps.py'),
|
| '--json', tempfile_path
|
| ])
|
|
|
| @@ -26,21 +49,27 @@
|
| for violation in result['violations']:
|
| result_set.add((result['dependee_path'], violation['include_path']))
|
|
|
| - json.dump({
|
| - 'valid': True,
|
| - 'failures': ['%s: %s' % (r[0], r[1]) for r in result_set],
|
| - }, args.output)
|
| + with open(args.output, 'w') as f:
|
| + json.dump({
|
| + 'valid': True,
|
| + 'failures': ['%s: %s' % (r[0], r[1]) for r in result_set],
|
| + }, f)
|
|
|
| return rc
|
|
|
|
|
| -def main_compile_targets(args):
|
| - json.dump([], args.output)
|
| +def main(argv):
|
| + parser = argparse.ArgumentParser()
|
| +
|
| + subparsers = parser.add_subparsers()
|
| +
|
| + run_parser = subparsers.add_parser('run')
|
| + run_parser.add_argument('--output', required=True)
|
| + run_parser.set_defaults(func=mode_run)
|
| +
|
| + args = parser.parse_args(argv)
|
| + return args.func(args)
|
|
|
|
|
| if __name__ == '__main__':
|
| - funcs = {
|
| - 'run': main_run,
|
| - 'compile_targets': main_compile_targets,
|
| - }
|
| - sys.exit(common.run_script(sys.argv[1:], funcs))
|
| + sys.exit(main(sys.argv[1:]))
|
|
|