Update from https://crrev.com/312398

Involves adding many //testing/test.gni imports, fixing one
SkSurface::NewRenderTarget invocation inside sky, and fixing up
base::Process usage in the shell.

Review URL: https://codereview.chromium.org/862133002
diff --git a/testing/scripts/checklicenses.py b/testing/scripts/checklicenses.py
new file mode 100755
index 0000000..43342d0
--- /dev/null
+++ b/testing/scripts/checklicenses.py
@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+# Copyright 2015 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.
+
+import json
+import os
+import sys
+
+
+import common
+
+
+def main_run(args):
+  with common.temporary_file() as tempfile_path:
+    rc = common.run_command([
+        os.path.join(common.SRC_DIR, 'tools', 'checklicenses',
+                     'checklicenses.py'),
+        '--json', tempfile_path
+    ])
+
+    with open(tempfile_path) as f:
+      checklicenses_results = json.load(f)
+
+  result_set = set()
+  for result in checklicenses_results:
+    result_set.add((result['filename'], result['license']))
+
+  json.dump({
+      'valid': True,
+      'failures': ['%s: %s' % (r[0], r[1]) for r in result_set],
+  }, args.output)
+
+  return rc
+
+
+def main_compile_targets(args):
+  json.dump([], args.output)
+
+
+if __name__ == '__main__':
+  funcs = {
+    'run': main_run,
+    'compile_targets': main_compile_targets,
+  }
+  sys.exit(common.run_script(sys.argv[1:], funcs))