Update from chromium 62675d9fb31fb8cedc40f68e78e8445a74f362e7

This is Cr-Commit-Position: refs/heads/master@{#300999}

Review URL: https://codereview.chromium.org/670183003
diff --git a/testing/scripts/checkdeps.py b/testing/scripts/checkdeps.py
index 83abfdf..d6140da 100755
--- a/testing/scripts/checkdeps.py
+++ b/testing/scripts/checkdeps.py
@@ -3,41 +3,18 @@
 # 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
 
 
-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))
+import common
 
 
-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'),
+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'),
         '--json', tempfile_path
     ])
 
@@ -49,27 +26,21 @@
     for violation in result['violations']:
       result_set.add((result['dependee_path'], violation['include_path']))
 
-  with open(args.output, 'w') as f:
-    json.dump({
-        'valid': True,
-        'failures': ['%s: %s' % (r[0], r[1]) for r in result_set],
-    }, f)
+  json.dump({
+      'valid': True,
+      'failures': ['%s: %s' % (r[0], r[1]) for r in result_set],
+  }, args.output)
 
   return rc
 
 
-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)
+def main_compile_targets(args):
+  json.dump([], args.output)
 
 
 if __name__ == '__main__':
-  sys.exit(main(sys.argv[1:]))
+  funcs = {
+    'run': main_run,
+    'compile_targets': main_compile_targets,
+  }
+  sys.exit(common.run_script(sys.argv[1:], funcs))