Chromium Code Reviews| Index: tools/telemetry/telemetry/core/browser_options.py |
| diff --git a/tools/telemetry/telemetry/core/browser_options.py b/tools/telemetry/telemetry/core/browser_options.py |
| index f27f93499ca313a7c5da46c687db82af71ce5d06..aa32d0d5cdc5994207b42f52b74f5eb8fa30407d 100644 |
| --- a/tools/telemetry/telemetry/core/browser_options.py |
| +++ b/tools/telemetry/telemetry/core/browser_options.py |
| @@ -1,11 +1,12 @@ |
| -# Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| + # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
|
dennis_jeffrey
2013/07/12 21:36:18
remove the spaces before the #
edmundyan
2013/07/12 22:10:21
Done.
|
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| +import copy |
|
dennis_jeffrey
2013/07/12 21:36:18
add a blank line before this
edmundyan
2013/07/12 22:10:21
Done.
|
| +import logging |
| import optparse |
| -import sys |
| +import re |
| import shlex |
| -import logging |
| -import copy |
| +import sys |
| from telemetry.core import browser_finder |
| from telemetry.core import profile_types |
| @@ -49,6 +50,11 @@ class BrowserOptions(optparse.Values): |
| self.no_proxy_server = False |
| + self.page_repeat_secs = None |
| + self.pageset_repeat_secs = None |
| + self.page_repeat_iters = None |
| + self.pageset_repeat_iters = None |
| + |
| def Copy(self): |
| return copy.deepcopy(self) |
| @@ -113,12 +119,17 @@ class BrowserOptions(optparse.Values): |
| # Page set options |
| group = optparse.OptionGroup(parser, 'Page set options') |
| - group.add_option('--page-repeat', dest='page_repeat', default=1, |
| - help='Number of times to repeat each individual ' + |
| - 'page in the pageset before proceeding.') |
| - group.add_option('--pageset-repeat', dest='pageset_repeat', default=1, |
| - help='Number of times to repeat the entire pageset ' + |
| - 'before finishing.') |
| + group.add_option('--page-repeat', dest='page_repeat', default='1', |
| + help='Number of iterations or length of time to repeat each ' |
| + 'individual page in the pageset before proceeding. Append ' |
| + 'an \'s\' to specify length of time in seconds. e.g., \'10\' ' |
| + 'to repeat for 10 iterations, or \'30s\' to repeat for 30 ' |
| + 'seconds.') |
| + group.add_option('--pageset-repeat', dest='pageset_repeat', default='1', |
| + help='Number of iterations or length of time to repeat the entire ' |
| + 'pageset before finishing. Append an \'s\' to specify length ' |
| + 'of time in seconds. e.g., \'10\' to repeat for 10 iterations, ' |
| + 'or \'30s\' to repeat for 30 seconds.') |
| group.add_option('--pageset-shuffle', action='store_true', |
| dest='pageset_shuffle', |
| help='Shuffle the order of pages within a pageset.') |
| @@ -215,6 +226,40 @@ class BrowserOptions(optparse.Values): |
| delattr(self, 'extra_wpr_args_as_string') |
| if self.profile_type == 'default': |
| self.dont_override_profile = True |
| + |
| + pattern = re.compile('([0-9]+)([sS]?)$') |
| + |
| + # page_repeat |
| + match = pattern.match(self.page_repeat) |
| + if match: |
| + if match.group(2): |
| + self.page_repeat_secs = float(match.group(1)) |
| + # set _iters to default to avoid interchange options error |
|
dennis_jeffrey
2013/07/12 21:36:18
nit: Comments should generally be grammatically-co
edmundyan
2013/07/12 22:10:21
Done. Was also an outdated comment so I fixed tha
|
| + self.page_repeat_iters = 1 |
| + else: |
| + self.page_repeat_iters = int(match.group(1)) |
| + delattr(self, 'page_repeat') |
| + else: |
| + sys.stderr.write('Usage: --page-repeat only accepts an int ' |
| + 'followed by only an \'s\' if using time. ' |
| + 'e.g. \'10\' or \'10s\'\n') |
| + sys.exit(1) |
| + |
| + # pageset_repeat |
| + match = pattern.match(self.pageset_repeat) |
| + if match: |
| + if match.group(2): |
| + self.pageset_repeat_secs = float(match.group(1)) |
| + # set _iters to default to avoid interchange options error |
| + self.pageset_repeat_iters = 1 |
| + else: |
| + self.pageset_repeat_iters = int(match.group(1)) |
| + delattr(self, 'pageset_repeat') |
| + else: |
| + sys.stderr.write('Usage: --pageset-repeat only accepts an int ' |
| + 'followed by only an \'s\' if using time. ' |
| + 'e.g. \'10\' or \'10s\'\n') |
| + sys.exit(1) |
| self.profile_dir = profile_types.GetProfileDir(self.profile_type) |
| return ret |
| parser.parse_args = ParseArgs |