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

Unified Diff: tools/telemetry/telemetry/core/browser_options.py

Issue 18261009: Have repeats understand "time" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 7 years, 5 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
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..93b456099b38a1a72780a874eaf1bef174cce0c7 100644
--- a/tools/telemetry/telemetry/core/browser_options.py
+++ b/tools/telemetry/telemetry/core/browser_options.py
@@ -49,6 +49,11 @@ class BrowserOptions(optparse.Values):
self.no_proxy_server = False
+ self.page_repeat = 1
+ self.pageset_repeat = 1
+ self.page_repeat_time = 0.0
+ self.pageset_repeat_time = 0.0
dennis_jeffrey 2013/07/10 20:11:20 maybe initialize the above 2 variables to "None" i
+
def Copy(self):
return copy.deepcopy(self)
@@ -114,11 +119,13 @@ 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.')
+ 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')
dennis_jeffrey 2013/07/10 20:11:20 Maybe also give an example in the help string, som
edmundyan 2013/07/11 01:18:55 Done.
group.add_option('--pageset-repeat', dest='pageset_repeat', default=1,
- help='Number of times to repeat the entire pageset ' +
- 'before finishing.')
+ help='Number of iterations or length of time to repeat the entire ' +
+ 'pageset before finishing. Append an \'s\' to specify length of ' +
dtu 2013/07/10 23:15:41 Don't need the + signs here.
edmundyan 2013/07/11 01:18:55 Done.
+ 'time in seconds')
group.add_option('--pageset-shuffle', action='store_true',
dest='pageset_shuffle',
help='Shuffle the order of pages within a pageset.')
@@ -215,6 +222,19 @@ class BrowserOptions(optparse.Values):
delattr(self, 'extra_wpr_args_as_string')
if self.profile_type == 'default':
self.dont_override_profile = True
+ if self.page_repeat != 1: # pylint: disable=E1101
dennis_jeffrey 2013/07/10 20:11:20 is this check necessary? The condition at line 22
edmundyan 2013/07/10 21:13:09 The default value is int(1), and would cause an er
dtu 2013/07/10 23:15:41 I think you should keep 'page_repeat' as a string
edmundyan 2013/07/11 01:18:55 Done. Also using regex matching instead of charac
+ if self.page_repeat[-1] == 's':
dennis_jeffrey 2013/07/10 20:11:20 maybe accept both upper and lowercase 's'? if sel
edmundyan 2013/07/11 01:18:55 Done.
+ self.page_repeat_time = self.page_repeat[:-1]
+ self.page_repeat = 1
+ if self.pageset_repeat != 1: # pylint: disable=E1101
dennis_jeffrey 2013/07/10 20:11:20 similar comment as line 225 above
+ if self.pageset_repeat[-1] == 's':
+ self.pageset_repeat_time = self.pageset_repeat[:-1]
+ self.pageset_repeat = 1
+ if ((self.page_repeat != 1 or self.pageset_repeat != 1) and
+ (self.page_repeat_time or self.pageset_repeat_time)):
+ sys.stderr.write('Cannot interchange repeat options. Use only ' +
+ 'iterations or time.\n')
+ sys.exit(1)
self.profile_dir = profile_types.GetProfileDir(self.profile_type)
return ret
parser.parse_args = ParseArgs

Powered by Google App Engine
This is Rietveld 408576698