summaryrefslogtreecommitdiffstats
path: root/testing/performance/hooks.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/performance/hooks.py')
-rw-r--r--testing/performance/hooks.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/testing/performance/hooks.py b/testing/performance/hooks.py
new file mode 100644
index 0000000000..1a02f1ab3c
--- /dev/null
+++ b/testing/performance/hooks.py
@@ -0,0 +1,40 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+import os
+
+from mozperftest.test.browsertime import add_option, add_options
+
+sites = os.path.join(os.path.dirname(__file__), "sites.txt")
+with open(sites) as f:
+ sites = [site for site in f.read().split("\n") if site.strip()]
+
+
+def next_site():
+ for site in sites:
+ yield site
+
+
+get_site = next_site()
+
+options = [
+ ("firefox.preference", "network.http.speculative-parallel-limit:6"),
+ # XXX potentially move those as first class options in mozperf?
+ ("pageCompleteWaitTime", "10000"),
+ ("visualMetrics", "true"),
+ ("video", "true"),
+ ("firefox.windowRecorder", "false"),
+ ("videoParams.addTimer", "false"),
+ ("videoParams.createFilmstrip", "false"),
+ ("videoParams.keepOriginalVideo", "true"),
+]
+
+
+def before_runs(env, **kw):
+ env.set_arg("cycles", len(sites))
+ add_options(env, options)
+
+
+def before_cycle(env, **kw):
+ url = next(get_site)
+ add_option(env, "browsertime.url", url)