summaryrefslogtreecommitdiffstats
path: root/testing/performance/hooks.py
blob: 1a02f1ab3ceefe026ddb9ffef0f04508162517d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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)