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

Unified Diff: tools/ipc_fuzzer/play_testcase.py

Issue 1025483002: Restructure the ipc_fuzzer directory. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move more files around Created 5 years, 9 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 | « tools/ipc_fuzzer/mutate/utils.py ('k') | tools/ipc_fuzzer/remove_close_messages.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/ipc_fuzzer/play_testcase.py
diff --git a/tools/ipc_fuzzer/play_testcase.py b/tools/ipc_fuzzer/play_testcase.py
deleted file mode 100755
index 66c6e95f31b93cd94ffb2b8b0b7c6f0453b7fa5c..0000000000000000000000000000000000000000
--- a/tools/ipc_fuzzer/play_testcase.py
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/usr/bin/env python
-# Copyright 2013 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.
-
-"""Wrapper around chrome.
-
-Replaces all the child processes (renderer, GPU, plugins and utility) with the
-IPC fuzzer. The fuzzer will then play back a specified testcase.
-
-Depends on ipc_fuzzer being available on the same directory as chrome.
-"""
-
-import argparse
-import os
-import platform
-import subprocess
-import sys
-
-CHROME_BINARY_FOR_PLATFORM_DICT = {
- 'LINUX': 'chrome',
- 'MAC': 'Chromium.app/Contents/MacOS/Chromium',
- 'WINDOWS': 'chrome.exe',
-}
-
-def GetPlatform():
- platform = None
- if sys.platform.startswith('win'):
- platform = 'WINDOWS'
- elif sys.platform.startswith('linux'):
- platform = 'LINUX'
- elif sys.platform == 'darwin':
- platform = 'MAC'
-
- assert platform is not None
- return platform
-
-def main():
- desc = 'Wrapper to run chrome with child processes replaced by IPC fuzzers'
- parser = argparse.ArgumentParser(description=desc)
- parser.add_argument('--out-dir', dest='out_dir', default='out',
- help='output directory under src/ directory')
- parser.add_argument('--build-type', dest='build_type', default='Release',
- help='Debug vs. Release build')
- parser.add_argument('--gdb-browser', dest='gdb_browser', default=False,
- action='store_true',
- help='run browser process inside gdb')
- parser.add_argument('testcase',
- help='IPC file to be replayed')
- parser.add_argument('chrome_args',
- nargs=argparse.REMAINDER,
- help='any additional arguments are passed to chrome')
- args = parser.parse_args()
-
- platform = GetPlatform()
- chrome_binary = CHROME_BINARY_FOR_PLATFORM_DICT[platform]
- fuzzer_binary = 'ipc_fuzzer_replay'
- if platform == 'WINDOWS':
- fuzzer_binary += '.exe'
-
- script_path = os.path.realpath(__file__)
- ipc_fuzzer_dir = os.path.dirname(script_path)
- src_dir = os.path.abspath(os.path.join(ipc_fuzzer_dir, os.pardir, os.pardir))
- out_dir = os.path.join(src_dir, args.out_dir)
- build_dir = os.path.join(out_dir, args.build_type)
-
- chrome_path = os.path.join(build_dir, chrome_binary)
- if not os.path.exists(chrome_path):
- print 'chrome executable not found at ', chrome_path
- return 1
-
- fuzzer_path = os.path.join(build_dir, fuzzer_binary)
- if not os.path.exists(fuzzer_path):
- print 'fuzzer executable not found at ', fuzzer_path
- print ('ensure GYP_DEFINES="enable_ipc_fuzzer=1" and build target ' +
- fuzzer_binary + '.')
- return 1
-
- prefixes = {
- '--renderer-cmd-prefix',
- '--gpu-launcher',
- '--plugin-launcher',
- '--ppapi-plugin-launcher',
- '--utility-cmd-prefix',
- }
-
- chrome_command = [
- chrome_path,
- '--ipc-fuzzer-testcase=' + args.testcase,
- '--no-sandbox',
- '--disable-kill-after-bad-ipc',
- '--disable-mojo-channel',
- ]
-
- if args.gdb_browser:
- chrome_command = ['gdb', '--args'] + chrome_command
-
- launchers = {}
- for prefix in prefixes:
- launchers[prefix] = fuzzer_path
-
- for arg in args.chrome_args:
- if arg.find('=') != -1:
- switch, value = arg.split('=', 1)
- if switch in prefixes:
- launchers[switch] = value + ' ' + launchers[switch]
- continue
- chrome_command.append(arg)
-
- for switch, value in launchers.items():
- chrome_command.append(switch + '=' + value)
-
- command_line = ' '.join(['\'' + arg + '\'' for arg in chrome_command])
- print 'Executing: ' + command_line
-
- return subprocess.call(chrome_command)
-
-
-if __name__ == "__main__":
- sys.exit(main())
« no previous file with comments | « tools/ipc_fuzzer/mutate/utils.py ('k') | tools/ipc_fuzzer/remove_close_messages.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698