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

Unified Diff: tools/resource_prefetch_predictor/generate_database.py

Issue 2508933002: tools: Local tests for the speculative prefetch predictor. (Closed)
Patch Set: . Created 4 years, 1 month 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
Index: tools/resource_prefetch_predictor/generate_database.py
diff --git a/tools/resource_prefetch_predictor/generate_database.py b/tools/resource_prefetch_predictor/generate_database.py
index 9c3aa677e610f9e2bf81b41d5bae0ca83fbbae6f..9838e503de3de5b2defaa7b5d57c8fecd0cf303e 100755
--- a/tools/resource_prefetch_predictor/generate_database.py
+++ b/tools/resource_prefetch_predictor/generate_database.py
@@ -13,6 +13,8 @@ import logging
import os
import sys
+import common
pasko 2016/11/17 15:59:04 the name can clash, prefetch_predictor_common feel
Benoit L 2016/11/21 13:40:32 Done.
+
_SRC_PATH = os.path.abspath(os.path.join(
os.path.dirname(__file__), os.pardir, os.pardir))
@@ -34,10 +36,9 @@ _PAGE_LOAD_TIMEOUT = 20
def _CreateArgumentParser():
"""Creates and returns the argument parser."""
- parser = argparse.ArgumentParser(
- description=('Loads a set of web pages several times on a device, and '
- 'extracts the predictor database.'),
- parents=[OPTIONS.GetParentParser()])
+ parser = common.CreateBaseArgumentParser(
+ 'Loads a set of web pages several times on a device, and extracts the '
+ 'predictor database.')
parser.add_argument('--device', help='Device ID')
parser.add_argument('--urls_filename', help='File containing a list of URLs '
'(one per line). URLs can be repeated.')
@@ -50,27 +51,6 @@ def _CreateArgumentParser():
return parser
-def _FindDevice(device_id):
- """Returns a device matching |device_id| or the first one if None, or None."""
- devices = device_utils.DeviceUtils.HealthyDevices()
- if device_id is None:
- return devices[0]
- matching_devices = [d for d in devices if str(d) == device_id]
- if not matching_devices:
- return None
- return matching_devices[0]
-
-
-def _Setup(device):
- """Sets up a device and returns an instance of RemoteChromeController."""
- chrome_controller = controller.RemoteChromeController(device)
- device.ForceStop(OPTIONS.ChromePackage().package)
- chrome_controller.AddChromeArguments(
- ['--speculative-resource-prefetching=learning'])
- chrome_controller.ResetBrowserState()
- return chrome_controller
-
-
def _Go(chrome_controller, urls_filename, output_filename, repeats):
urls = []
with open(urls_filename) as f:
@@ -87,23 +67,23 @@ def _Go(chrome_controller, urls_filename, output_filename, repeats):
device = chrome_controller.GetDevice()
device.ForceStop(OPTIONS.ChromePackage().package)
- database_filename = (
- '/data/user/0/%s/app_chrome/Default/Network Action Predictor' %
- OPTIONS.ChromePackage().package)
- device.PullFile(database_filename, output_filename)
+ device.PullFile(common.DatabaseDevicePath(), output_filename)
def main():
+ devil_chromium.Initialize()
logging.basicConfig(level=logging.INFO)
+
parser = _CreateArgumentParser()
- args = parser.parse_args()
- OPTIONS.SetParsedArgs(args)
- devil_chromium.Initialize()
- device = _FindDevice(args.device)
+ args = common.ParseAndReturnArgs(parser)
+
+ device = common.FindDevice(args.device)
if device is None:
logging.error('Could not find device: %s.', args.device)
sys.exit(1)
- chrome_controller = _Setup(device)
+
+ chrome_controller = _Setup(
+ device, ['--speculative-resource-prefetching=learning'])
_Go(chrome_controller, args.urls_filename, args.output_filename,
int(args.url_repeat))

Powered by Google App Engine
This is Rietveld 408576698