Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Unified Diff: scripts/slave/chromium/run_crash_handler.py

Issue 1871583004: Revert "Remove references to crash_service, which is no longer needed." (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/build.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | scripts/slave/kill_processes.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: scripts/slave/chromium/run_crash_handler.py
diff --git a/scripts/slave/chromium/run_crash_handler.py b/scripts/slave/chromium/run_crash_handler.py
new file mode 100755
index 0000000000000000000000000000000000000000..11a5b65de31303d9f56a96123fc9769ccf0e9302
--- /dev/null
+++ b/scripts/slave/chromium/run_crash_handler.py
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+# Copyright (c) 2011 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.
+
+"""A tool to run the crash handler executable, used by the buildbot slaves.
+
+ When this is run, the current directory (cwd) should be the outer build
+ directory (e.g., chrome-release/build/).
+
+ This can only be run on Windows.
+
+ For a list of command-line options, call this script with '--help'.
+"""
+
+import optparse
+import os
+import sys
+try:
+ # pylint: disable=F0401
+ import win32process
+except ImportError:
+ print >> sys.stderr, 'This script runs on Windows only.'
+ sys.exit(1)
+
+from common import chromium_utils
+from slave import build_directory
+
+USAGE = '%s [options]' % os.path.basename(sys.argv[0])
+
+
+def main():
+ """Using the target build configuration, run the crash_service.exe
+ executable.
+ """
+ option_parser = optparse.OptionParser(usage=USAGE)
+
+ option_parser.add_option('--target', default='Release',
+ help='build target (Debug or Release)')
+ option_parser.add_option('--build-dir', help='ignored')
+ options, args = option_parser.parse_args()
+ options.build_dir = build_directory.GetBuildOutputDirectory()
+
+ if args:
+ option_parser.error('No args are supported')
+
+ build_dir = os.path.abspath(options.build_dir)
+ exe_path = os.path.join(build_dir, options.target, 'crash_service.exe')
+ if not os.path.exists(exe_path):
+ raise chromium_utils.PathNotFound('Unable to find %s' % exe_path)
+
+ # crash_service's window can interfere with interactive ui tests.
+ cmd = exe_path + ' --no-window'
+
+ print '\n' + cmd + '\n',
+
+ # We cannot use Popen or os.spawn here because buildbot will wait until
+ # the process terminates before going to the next step. Since we want to
+ # keep the process alive, we need to explicitly say that we want the
+ # process to be detached and that we don't want to inherit handles from
+ # the parent process.
+ si = win32process.STARTUPINFO()
+ details = win32process.CreateProcess(None, cmd, None, None, 0,
+ win32process.DETACHED_PROCESS, None,
+ None, si)
+ print '\nCreated with process id %d\n' % details[2]
+ return 0
+
+
+if '__main__' == __name__:
+ sys.exit(main())
« no previous file with comments | « no previous file | scripts/slave/kill_processes.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698