Index: testing/scripts/run_devtools_eslint.py |
diff --git a/testing/scripts/run_devtools_eslint.py b/testing/scripts/run_devtools_eslint.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..418528c1349bcb4ec5051bf51be9b73723be57a6 |
--- /dev/null |
+++ b/testing/scripts/run_devtools_eslint.py |
@@ -0,0 +1,53 @@ |
+#!/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. |
+ |
+"""Runs a python script under an isolate |
+ |
+This script attempts to emulate the contract of gtest-style tests |
+invoked via recipes. The main contract is that the caller passes the |
+argument: |
+ |
+ --isolated-script-test-output=[FILENAME] |
+ |
+json is written to that file in the format produced by |
+common.parse_common_test_results. |
+ |
+This script is intended to be the base command invoked by the isolate, |
+followed by a subsequent Python script.""" |
+ |
+import argparse |
+import json |
+import os |
+import sys |
+ |
+ |
+import common |
+ |
+# Add src/testing/ into sys.path for importing xvfb. |
+sys.path.append(os.path.join(os.path.dirname(__file__), '..')) |
+import xvfb |
+ |
+ |
+def main(): |
+ parser = argparse.ArgumentParser() |
+ parser.add_argument('--isolated-script-test-output', type=str, |
+ required=True) |
+ args, rest_args = parser.parse_known_args() |
+ |
+ ret = common.run_command([sys.executable] + rest_args) |
+ with open(args.isolated_script_test_output) as fp: |
+ json.dump({'valid': True, |
+ 'failures': ['failed'] if ret else []}, fp) |
+ |
+def main_compile_targets(args): |
+ json.dump(['devtools_eslint'], args.output) |
+ |
+ |
+if __name__ == '__main__': |
+ funcs = { |
+ 'run': main, |
+ 'compile_targets': main_compile_targets, |
+ } |
+ sys.exit(common.run_script(sys.argv[1:], funcs)) |