Example #1
0
    def test_correctly_overrides_test_valus(self):
        config = get_config(self.argv)
        assert bool(config) is True

        # no null values
        null_keys = [key for key, val in config.iteritems() if val is None]
        assert len(null_keys) == 0

        # expected keys are there
        assert config['browser_path'] == '/some/random/path'
        assert config['suite'] == 'other-e10s'
        assert config['mainthread'] is True

        # default values overriden
        config = get_config(self.argv_overrides_defaults)
        assert config['basetest'] == ORIGINAL_DEFAULTS['basetest']
Example #2
0
    def test_tresize_has_expected_attributes(self):
        config = get_config(self.argv_tresize)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tresize'
        assert test_config['cycles'] == 20
        assert test_config['url'] != 'startup_test/tresize/addon/content/tresize-test.html'
        assert test_config['timeout'] == 150
        assert test_config['gecko_profile_interval'] == 2
        assert test_config['gecko_profile_entries'] == 1000000
        assert test_config['tpmozafterpaint'] is True
        assert test_config['filters'] is not None
Example #3
0
    def test_sessionrestore_many_windows_has_expected_attributes(self):
        config = get_config(self.argv_sessionrestore_many_windows)
        test_config = config['tests'][0]

        assert test_config['name'] == 'sessionrestore_many_windows'
        assert test_config['cycles'] == 10
        assert test_config['timeout'] == 900
        assert test_config['gecko_profile_startup'] is True
        assert test_config['gecko_profile_entries'] == 10000000
        assert test_config['reinstall'] == [
            'sessionstore.jsonlz4', 'sessionstore.js', 'sessionCheckpoints.json']
        assert test_config['url'] == 'about:home'
        assert test_config['preferences'] == {'browser.startup.page': 3}
Example #4
0
    def test_a11yr_has_expect_attributes(self):
        config = get_config(self.argv_a11yr)
        test_config = config['tests'][0]

        assert test_config['name'] == 'a11yr'
        assert test_config['tpmanifest'] != '${talos}/tests/a11y/a11y.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 25
        assert test_config['tpmozafterpaint'] is True
        assert test_config['tpchrome'] is False
        assert test_config['preferences'] == {'dom.send_after_paint_to_content': False}
        assert test_config['unit'] == 'ms'
        assert test_config['alert_threshold'] == 5.0
Example #5
0
    def test_speedometer_has_expected_attributes(self):
        config = get_config(self.argv_speedometer)
        test_config = config['tests'][0]

        assert test_config['name'] == 'speedometer'
        assert test_config['tpmanifest'] != '${talos}/tests/speedometer/speedometer.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 5
        assert test_config['tpmozafterpaint'] is False
        assert test_config['tpchrome'] is False
        assert test_config['format_pagename'] is False
        assert test_config['lower_is_better'] is False
        assert test_config['unit'] == 'score'
Example #6
0
    def test_tp6_google_heavy_has_expected_attributes(self):
        config = get_config(self.argv_tp6_google_heavy)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tp6_google_heavy'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 25
        assert test_config['gecko_profile_interval'] == 1
        assert test_config['gecko_profile_entries'] == 2000000
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'ms'
        assert test_config['lower_is_better'] is True
        assert test_config['fnbpaint'] is True
        assert test_config['profile'] == 'simple'
Example #7
0
    def test_dromaeo_dom_has_expected_attributes(self):
        config = get_config(self.argv_dromaeo_dom)
        test_config = config['tests'][0]

        assert test_config['name'] == 'dromaeo_dom'
        assert test_config['tpcycles'] == 1
        assert test_config['filters'] is not None
        assert test_config['lower_is_better'] is False
        assert test_config['alert_threshold'] == 5.0
        assert test_config['tpchrome'] is False
        assert test_config['gecko_profile_interval'] == 2
        assert test_config['gecko_profile_entries'] == 10000000
        assert test_config['tpmanifest'] != '${talos}/tests/dromaeo/dom.manifest'
        assert test_config['unit'] == 'score'
Example #8
0
    def test_tsvgr_opacity_has_expected_attributes(self):
        config = get_config(self.argv_tsvgr_opacity)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tsvgr_opacity'
        assert test_config['tpmanifest'] != '${talos}/tests/svg_opacity/svg_opacity.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 25
        assert test_config['tpmozafterpaint'] is True
        assert test_config['tpchrome'] is False
        assert test_config['gecko_profile_interval'] == 1
        assert test_config['gecko_profile_entries'] == 10000000
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'ms'
Example #9
0
    def test_v8_7_has_expected_attributes(self):
        config = get_config(self.argv_v8_7)
        test_config = config['tests'][0]

        assert test_config['name'] == 'v8_7'
        assert test_config['tpmanifest'] != '${talos}/tests/v8_7/v8.manifest'
        assert test_config['gecko_profile_interval'] == 1
        assert test_config['gecko_profile_entries'] == 1000000
        assert test_config['tpcycles'] == 1
        assert test_config['resolution'] == 20
        assert test_config['tpmozafterpaint'] is False
        assert test_config['preferences'] == {'dom.send_after_paint_to_content': False}
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'score'
        assert test_config['lower_is_better'] is False
Example #10
0
    def test_tpaint_has_expected_attributes(self):
        config = get_config(self.argv_tpaint)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tpaint'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 20
        assert test_config['timeout'] == 300
        assert test_config['gecko_profile_interval'] == 1
        assert test_config['gecko_profile_entries'] == 2000000
        assert test_config['tpmozafterpaint'] is True
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'ms'
        assert test_config['preferences'] == {
            'security.data_uri.block_toplevel_data_uri_navigations': False}
Example #11
0
    def test_tabpaint_has_expected_attributes(self):
        config = get_config(self.argv_tabpaint)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tabpaint'
        assert test_config['tpcycles'] == 1
        assert test_config['tpmanifest'] != '${talos}/tests/tabpaint/tabpaint.manifest'
        assert test_config['tppagecycles'] == 20
        assert test_config['gecko_profile_entries'] == 1000000
        assert test_config['tploadnocache'] is True
        assert test_config['unit'] == 'ms'
        assert test_config['preferences'] == {
            'browser.link.open_newwindow': 3,
            'browser.link.open_newwindow.restriction': 2,
        }
Example #12
0
    def test_kraken_has_expected_attributes(self):
        config = get_config(self.argv_kraken)
        test_config = config['tests'][0]

        assert test_config['name'] == 'kraken'
        assert test_config['tpmanifest'] != '${talos}/tests/kraken/kraken.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 1
        assert test_config['gecko_profile_interval'] == 1
        assert test_config['gecko_profile_entries'] == 5000000
        assert test_config['tpmozafterpaint'] is False
        assert test_config['tpchrome'] is False
        assert test_config['preferences'] == {'dom.send_after_paint_to_content': False}
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'score'
Example #13
0
    def test_ts_paint_has_expected_attributes(self):
        config = get_config(self.argv_ts_paint)
        test_config = config['tests'][0]

        assert test_config['name'] == 'ts_paint'
        assert test_config['cycles'] == 20
        assert test_config['timeout'] == 150
        assert test_config['gecko_profile_startup'] is True
        assert test_config['gecko_profile_entries'] == 10000000
        assert test_config['url'] != 'startup_test/tspaint_test.html'  # interpolation was done
        assert test_config['xperf_counters'] == []
        # TODO: these don't work; is this a bug?
        # assert test_config['win7_counters'] == []
        assert test_config['filters'] is not None
        assert test_config['tpmozafterpaint'] is True
Example #14
0
    def test_tp6_youtube_has_expected_attributes(self):
        config = get_config(self.argv_tp6_youtube)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tp6_youtube'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 25
        assert test_config['gecko_profile_interval'] == 1
        assert test_config['gecko_profile_entries'] == 2000000
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'ms'
        assert test_config['lower_is_better'] is True
        assert test_config['fnbpaint'] is True
        assert test_config['tpmanifest'] != \
            '${talos}/tests/quantum_pageload/quantum_pageload_youtube.manifest'
Example #15
0
    def test_perf_reftest_singletons_has_expected_attributes(self):
        config = get_config(self.argv_perf_reftest_singletons)
        test_config = config['tests'][0]

        assert test_config['name'] == 'perf_reftest_singletons'
        assert test_config['tpmanifest'] != \
            '${talos}/tests/perf-reftest-singletons/perf_reftest_singletons.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 15
        assert test_config['tptimeout'] == 30000
        assert test_config['gecko_profile_interval'] == 1
        assert test_config['gecko_profile_entries'] == 2000000
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'ms'
        assert test_config['lower_is_better'] is True
        assert test_config['alert_threshold'] == 5.0
Example #16
0
    def test_tps_has_expected_attributes(self):
        config = get_config(self.argv_tps)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tps'
        assert test_config['tpcycles'] == 1
        assert test_config['tpmanifest'] != '${talos}/tests/tabswitch/tps.manifest'
        assert test_config['tppagecycles'] == 5
        assert test_config['gecko_profile_entries'] == 5000000
        assert test_config['tploadnocache'] is True
        assert test_config['preferences'] == {
            'addon.test.tabswitch.urlfile': os.path.join('${talos}',
                                                         'tests',
                                                         'tp5o.html'),
            'addon.test.tabswitch.webserver': '${webserver}',
            'addon.test.tabswitch.maxurls': -1,
        }
        assert test_config['unit'] == 'ms'
Example #17
0
    def test_tp5n_has_expected_attributes(self):
        config = get_config(self.argv_tp5n)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tp5n'
        assert test_config['resolution'] == 20
        assert test_config['tpmanifest'] != '${talos}/tests/tp5n/tp5n.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 1
        assert test_config['cycles'] == 1
        assert test_config['tpmozafterpaint'] is True
        assert test_config['tptimeout'] == 5000
        assert test_config['mainthread'] is True
        assert test_config['w7_counters'] == []
        assert test_config['win_counters'] == []
        assert test_config['linux_counters'] == []
        assert test_config['mac_counters'] == []
        assert test_config['xperf_counters'] == [
            'main_startup_fileio', 'main_startup_netio',
            'main_normal_fileio', 'main_normal_netio',
            'nonmain_startup_fileio', 'nonmain_normal_fileio',
            'nonmain_normal_netio', 'mainthread_readcount',
            'mainthread_readbytes', 'mainthread_writecount',
            'mainthread_writebytes'
        ]
        assert test_config['xperf_providers'] == [
            'PROC_THREAD', 'LOADER', 'HARD_FAULTS', 'FILENAME',
            'FILE_IO', 'FILE_IO_INIT'
        ]
        assert test_config['xperf_user_providers'] == [
            'Mozilla Generic Provider',
            'Microsoft-Windows-TCPIP'
        ]
        assert test_config['xperf_stackwalk'] == [
            'FileCreate', 'FileRead', 'FileWrite', 'FileFlush',
            'FileClose'
        ]
        assert test_config['filters'] is not None
        assert test_config['timeout'] == 1800
        assert test_config['preferences'] == {
            'extensions.enabledScopes': '',
            'talos.logfile': 'browser_output.txt'
        }
        assert test_config['unit'] == 'ms'
Example #18
0
    def test_ts_paint_heavy_has_expected_attributes(self):
        config = get_config(self.argv_ts_paint_heavy)
        test_config = config['tests'][0]

        assert test_config['name'] == 'ts_paint_heavy'
        assert test_config['cycles'] == 20
        assert test_config['timeout'] == 150
        assert test_config['gecko_profile_startup'] is True
        assert test_config['gecko_profile_entries'] == 10000000
        assert test_config['url'] != 'startup_test/tspaint_test.html'  # interpolation was done
        assert test_config['xperf_counters'] == []
        # TODO: this doesn't work; is this a bug?
        # assert test_config['win7_counters'] == []
        assert test_config['filters'] is not None
        assert test_config['tpmozafterpaint'] is True
        # assert test_config['mainthread'] is False
        # assert test_config['responsiveness'] is False
        # assert test_config['unit'] == 'ms'
        assert test_config['profile'] == 'simple'
Example #19
0
    def test_glvideo_has_expected_attributes(self):
        config = get_config(self.argv_glvideo)
        test_config = config['tests'][0]

        assert test_config['name'] == 'glvideo'
        assert test_config['tpmanifest'] != '${talos}/tests/webgl/glvideo.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 5
        assert test_config['tploadnocache'] is True
        assert test_config['tpmozafterpaint'] is False
        assert test_config['tpchrome'] is False
        assert test_config['gecko_profile_interval'] == 2
        assert test_config['gecko_profile_entries'] == 2000000
        assert 'win_counters' not in test_config
        assert 'w7_counters' not in test_config
        assert 'linux_counters' not in test_config
        assert 'mac_counters' not in test_config
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'ms'
Example #20
0
    def test_tsvgm_has_expected_attributes(self):
        config = get_config(self.argv_tsvgm)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tsvgm'
        assert test_config['tpmanifest'] != '${talos}/tests/svgx/svgm.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 7
        assert test_config['tpmozafterpaint'] is False
        assert test_config['tpchrome'] is False
        assert test_config['gecko_profile_interval'] == 10
        assert test_config['gecko_profile_entries'] == 1000000
        assert test_config['preferences'] == {
            'layout.frame_rate': 0,
            'docshell.event_starvation_delay_hint': 1,
            'dom.send_after_paint_to_content': False
        }
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'ms'
Example #21
0
    def test_ts_paint_heavy_has_expected_attributes(self):
        config = get_config(self.argv_ts_paint_heavy)
        test_config = config['tests'][0]

        assert test_config['name'] == 'ts_paint_heavy'
        assert test_config['cycles'] == 20
        assert test_config['timeout'] == 150
        assert test_config['gecko_profile_startup'] is True
        assert test_config['gecko_profile_entries'] == 10000000
        assert test_config['url'] != 'startup_test/tspaint_test.html'  # interpolation was done
        assert test_config['xperf_counters'] == []
        # TODO: this doesn't work; is this a bug?
        # assert test_config['win7_counters'] == []
        assert test_config['filters'] is not None
        assert test_config['tpmozafterpaint'] is True
        # assert test_config['mainthread'] is False
        # assert test_config['responsiveness'] is False
        # assert test_config['unit'] == 'ms'
        assert test_config['profile'] == 'simple'
Example #22
0
    def test_tsvgx_has_expected_attributes(self):
        config = get_config(self.argv_tsvgx)
        test_config = config["tests"][0]

        assert test_config["name"] == "tsvgx"
        assert test_config["tpmanifest"] != "${talos}/tests/svgx/svgx.manifest"
        assert test_config["tpcycles"] == 1
        assert test_config["tppagecycles"] == 25
        assert test_config["tpmozafterpaint"] is False
        assert test_config["tpchrome"] is False
        assert test_config["gecko_profile_interval"] == 10
        assert test_config["gecko_profile_entries"] == 1000000
        assert test_config["preferences"] == {
            "layout.frame_rate": 0,
            "docshell.event_starvation_delay_hint": 1,
            "dom.send_after_paint_to_content": False,
        }
        assert test_config["filters"] is not None
        assert test_config["unit"] == "ms"
Example #23
0
    def test_tsvgx_has_expected_attributes(self):
        config = get_config(self.argv_tsvgx)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tsvgx'
        assert test_config['tpmanifest'] != '${talos}/tests/svgx/svgx.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 25
        assert test_config['tpmozafterpaint'] is False
        assert test_config['tpchrome'] is False
        assert test_config['gecko_profile_interval'] == 10
        assert test_config['gecko_profile_entries'] == 1000000
        assert test_config['preferences'] == {
            'layout.frame_rate': 0,
            'docshell.event_starvation_delay_hint': 1,
            'dom.send_after_paint_to_content': False
        }
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'ms'
Example #24
0
    def test_glvideo_has_expected_attributes(self):
        config = get_config(self.argv_glvideo)
        test_config = config['tests'][0]

        assert test_config['name'] == 'glvideo'
        assert test_config['tpmanifest'] != '${talos}/tests/webgl/glvideo.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 5
        assert test_config['tploadnocache'] is True
        assert test_config['tpmozafterpaint'] is False
        assert test_config['tpchrome'] is False
        assert test_config['gecko_profile_interval'] == 2
        assert test_config['gecko_profile_entries'] == 2000000
        assert 'win_counters' not in test_config
        assert 'w7_counters' not in test_config
        assert 'linux_counters' not in test_config
        assert 'mac_counters' not in test_config
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'ms'
Example #25
0
    def test_tabswitch_has_expected_attributes(self):
        config = get_config(self.argv_tabswitch)
        test_config = config["tests"][0]

        assert test_config["name"] == "tabswitch"
        assert test_config["tpcycles"] == 1
        assert (test_config["tpmanifest"] !=
                "${talos}/tests/tabswitch/tabswitch.manifest")
        assert test_config["tppagecycles"] == 5
        assert test_config["gecko_profile_entries"] == 5000000
        assert test_config["tploadnocache"] is True
        assert test_config["preferences"] == {
            "addon.test.tabswitch.urlfile":
            os.path.join("${talos}", "tests", "tp5o.html"),
            "addon.test.tabswitch.webserver":
            "${webserver}",
            "addon.test.tabswitch.maxurls":
            -1,
        }
        assert test_config["unit"] == "ms"
Example #26
0
    def test_ts_paint_heavy_has_expected_attributes(self):
        config = get_config(self.argv_ts_paint_heavy)
        test_config = config["tests"][0]

        assert test_config["name"] == "ts_paint_heavy"
        assert test_config["cycles"] == 20
        assert test_config["timeout"] == 150
        assert test_config["gecko_profile_startup"] is True
        assert test_config["gecko_profile_entries"] == 10000000
        assert (test_config["url"] != "startup_test/tspaint_test.html"
                )  # interpolation was done
        assert test_config["xperf_counters"] == []
        # TODO: this doesn't work; is this a bug?
        # assert test_config['win7_counters'] == []
        assert test_config["filters"] is not None
        assert test_config["tpmozafterpaint"] is True
        # assert test_config['mainthread'] is False
        # assert test_config['responsiveness'] is False
        # assert test_config['unit'] == 'ms'
        assert test_config["profile"] == "simple"
Example #27
0
    def test_glvideo_has_expected_attributes(self):
        config = get_config(self.argv_glvideo)
        test_config = config["tests"][0]

        assert test_config["name"] == "glvideo"
        assert test_config[
            "tpmanifest"] != "${talos}/tests/webgl/glvideo.manifest"
        assert test_config["tpcycles"] == 1
        assert test_config["tppagecycles"] == 5
        assert test_config["tploadnocache"] is True
        assert test_config["tpmozafterpaint"] is False
        assert test_config["tpchrome"] is False
        assert test_config["gecko_profile_interval"] == 2
        assert test_config["gecko_profile_entries"] == 2000000
        assert "win_counters" not in test_config
        assert "w7_counters" not in test_config
        assert "linux_counters" not in test_config
        assert "mac_counters" not in test_config
        assert test_config["filters"] is not None
        assert test_config["unit"] == "ms"
Example #28
0
    def test_tabswitch_has_expected_attributes(self):
        config = get_config(self.argv_tabswitch)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tabswitch'
        assert test_config['tpcycles'] == 1
        assert test_config[
            'tpmanifest'] != '${talos}/tests/tabswitch/tabswitch.manifest'
        assert test_config['tppagecycles'] == 5
        assert test_config['gecko_profile_entries'] == 5000000
        assert test_config['tploadnocache'] is True
        assert test_config['preferences'] == {
            'addon.test.tabswitch.urlfile':
            os.path.join('${talos}', 'tests', 'tp5o.html'),
            'addon.test.tabswitch.webserver':
            '${webserver}',
            'addon.test.tabswitch.maxurls':
            -1,
        }
        assert test_config['unit'] == 'ms'
Example #29
0
    def test_tcanvasmark_has_expected_attributes(self):
        config = get_config(self.argv_tcanvasmark)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tcanvasmark'
        assert test_config['tpmanifest'] != '${talos}/tests/canvasmark/canvasmark.manifest'
        assert 'win_counters' not in test_config
        assert 'w7_counters' not in test_config
        assert 'linux_counters' not in test_config
        assert 'mac_counters' not in test_config
        assert test_config['tpcycles'] == 5
        assert test_config['tppagecycles'] == 1
        assert test_config['timeout'] == 900
        assert test_config['gecko_profile_interval'] == 10
        assert test_config['gecko_profile_entries'] == 2500000
        assert test_config['tpmozafterpaint'] is False
        assert test_config['preferences'] == {'dom.send_after_paint_to_content': False}
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'score'
        assert test_config['lower_is_better'] is False
Example #30
0
    def test_tp5n_has_expected_attributes(self):
        config = get_config(self.argv_tp5n)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tp5n'
        assert test_config['resolution'] == 20
        assert test_config['tpmanifest'] != '${talos}/tests/tp5n/tp5n.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 1
        assert test_config['cycles'] == 1
        assert test_config['tpmozafterpaint'] is True
        assert test_config['tptimeout'] == 5000
        assert test_config['mainthread'] is True
        assert test_config['w7_counters'] == []
        assert test_config['win_counters'] == []
        assert test_config['linux_counters'] == []
        assert test_config['mac_counters'] == []
        assert test_config['xperf_counters'] == [
            'main_startup_fileio', 'main_startup_netio', 'main_normal_fileio',
            'main_normal_netio', 'nonmain_startup_fileio',
            'nonmain_normal_fileio', 'nonmain_normal_netio',
            'mainthread_readcount', 'mainthread_readbytes',
            'mainthread_writecount', 'mainthread_writebytes'
        ]
        assert test_config['xperf_providers'] == [
            'PROC_THREAD', 'LOADER', 'HARD_FAULTS', 'FILENAME', 'FILE_IO',
            'FILE_IO_INIT'
        ]
        assert test_config['xperf_user_providers'] == [
            'Mozilla Generic Provider', 'Microsoft-Windows-TCPIP'
        ]
        assert test_config['xperf_stackwalk'] == [
            'FileCreate', 'FileRead', 'FileWrite', 'FileFlush', 'FileClose'
        ]
        assert test_config['filters'] is not None
        assert test_config['timeout'] == 1800
        assert test_config['preferences'] == {
            'extensions.enabledScopes': '',
            'talos.logfile': 'browser_output.txt'
        }
        assert test_config['unit'] == 'ms'
Example #31
0
    def test_tscrollx_has_expected_attributes(self):
        config = get_config(self.argv_tscrollx)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tscrollx'
        assert test_config['tpmanifest'] != '${talos}/tests/scroll/scroll.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 25
        assert test_config['tpmozafterpaint'] is False
        assert test_config['tpchrome'] is False
        assert test_config['gecko_profile_interval'] == 1
        assert test_config['gecko_profile_entries'] == 1000000
        assert test_config['preferences'] == {
            'layout.frame_rate': 0,
            'docshell.event_starvation_delay_hint': 1,
            'dom.send_after_paint_to_content': False,
            'layout.css.scroll-behavior.spring-constant': "'10'",
            'toolkit.framesRecording.bufferSize': 10000
        }
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'ms'
Example #32
0
    def test_damp_has_expected_attributes(self):
        config = get_config(self.argv_damp)
        test_config = config["tests"][0]

        assert test_config["name"] == "damp"
        assert test_config[
            "tpmanifest"] != "${talos}/tests/devtools/damp.manifest"
        assert test_config["cycles"] == 5
        assert test_config["tpcycles"] == 1
        assert test_config["tppagecycles"] == 5
        assert test_config["tploadnocache"] is True
        assert test_config["tpmozafterpaint"] is False
        assert test_config["gecko_profile_interval"] == 10
        assert test_config["gecko_profile_entries"] == 1000000
        assert "win_counters" not in test_config
        assert "w7_counters" not in test_config
        assert "linux_counters" not in test_config
        assert "mac_counters" not in test_config
        assert test_config["filters"] is not None
        assert test_config["preferences"] == {"devtools.memory.enabled": True}
        assert test_config["unit"] == "ms"
Example #33
0
    def test_ts_paint_webext_has_expected_attributes(self):
        config = get_config(self.argv_ts_paint_webext)
        test_config = config['tests'][0]

        assert test_config['name'] == 'ts_paint_webext'
        assert test_config['cycles'] == 20
        assert test_config['timeout'] == 150
        assert test_config['gecko_profile_startup'] is True
        assert test_config['gecko_profile_entries'] == 10000000
        assert test_config['url'] != 'startup_test/tspaint_test.html'  # interpolation was done
        assert test_config['xperf_counters'] == []
        # TODO: these don't work; is this a bug?
        # assert test_config['win7_counters'] == []
        assert test_config['filters'] is not None
        assert test_config['tpmozafterpaint'] is True
        # assert test_config['mainthread'] is False
        # assert test_config['responsiveness'] is False
        # assert test_config['unit'] == 'ms'
        # TODO: this isn't overriden
        # assert test_config['webextensions'] != '${talos}/webextensions/dummy/dummy-signed.xpi'
        assert test_config['preferences'] == {'xpinstall.signatures.required': False}
Example #34
0
    def test_tp5o_scroll_has_expected_attributes(self):
        config = get_config(self.argv_tp5o_scroll)
        test_config = config["tests"][0]

        assert test_config["name"] == "tp5o_scroll"
        assert test_config["tpmanifest"] != "${talos}/tests/tp5n/tp5o.manifest"
        assert test_config["tpcycles"] == 1
        assert test_config["tppagecycles"] == 12
        assert test_config["gecko_profile_interval"] == 2
        assert test_config["gecko_profile_entries"] == 2000000
        assert test_config["tpscrolltest"] is True
        assert test_config["tpmozafterpaint"] is False
        assert test_config["preferences"] == {
            "layout.frame_rate": 0,
            "docshell.event_starvation_delay_hint": 1,
            "dom.send_after_paint_to_content": False,
            "layout.css.scroll-behavior.spring-constant": "'10'",
            "toolkit.framesRecording.bufferSize": 10000,
        }
        assert test_config["filters"] is not None
        assert test_config["unit"] == "1/FPS"
Example #35
0
    def test_tp5o_scroll_has_expected_attributes(self):
        config = get_config(self.argv_tp5o_scroll)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tp5o_scroll'
        assert test_config['tpmanifest'] != '${talos}/tests/tp5n/tp5o.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 12
        assert test_config['gecko_profile_interval'] == 2
        assert test_config['gecko_profile_entries'] == 2000000
        assert test_config['tpscrolltest'] is True
        assert test_config['tpmozafterpaint'] is False
        assert test_config['preferences'] == {
            'layout.frame_rate': 0,
            'docshell.event_starvation_delay_hint': 1,
            'dom.send_after_paint_to_content': False,
            'layout.css.scroll-behavior.spring-constant': "'10'",
            'toolkit.framesRecording.bufferSize': 10000
        }
        assert test_config['filters'] is not None
        assert test_config['unit'] == '1/FPS'
Example #36
0
    def test_damp_has_expected_attributes(self):
        config = get_config(self.argv_damp)
        test_config = config['tests'][0]

        assert test_config['name'] == 'damp'
        assert test_config[
            'tpmanifest'] != '${talos}/tests/devtools/damp.manifest'
        assert test_config['cycles'] == 5
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 5
        assert test_config['tploadnocache'] is True
        assert test_config['tpmozafterpaint'] is False
        assert test_config['gecko_profile_interval'] == 10
        assert test_config['gecko_profile_entries'] == 1000000
        assert 'win_counters' not in test_config
        assert 'w7_counters' not in test_config
        assert 'linux_counters' not in test_config
        assert 'mac_counters' not in test_config
        assert test_config['filters'] is not None
        assert test_config['preferences'] == {'devtools.memory.enabled': True}
        assert test_config['unit'] == 'ms'
Example #37
0
    def test_ts_paint_webext_has_expected_attributes(self):
        config = get_config(self.argv_ts_paint_webext)
        test_config = config['tests'][0]

        assert test_config['name'] == 'ts_paint_webext'
        assert test_config['cycles'] == 20
        assert test_config['timeout'] == 150
        assert test_config['gecko_profile_startup'] is True
        assert test_config['gecko_profile_entries'] == 10000000
        assert test_config['url'] != 'startup_test/tspaint_test.html'  # interpolation was done
        assert test_config['xperf_counters'] == []
        # TODO: these don't work; is this a bug?
        # assert test_config['win7_counters'] == []
        assert test_config['filters'] is not None
        assert test_config['tpmozafterpaint'] is True
        # assert test_config['mainthread'] is False
        # assert test_config['responsiveness'] is False
        # assert test_config['unit'] == 'ms'
        # TODO: this isn't overriden
        # assert test_config['webextensions'] != '${talos}/webextensions/dummy/dummy-signed.xpi'
        assert test_config['preferences'] == {'xpinstall.signatures.required': False}
Example #38
0
    def test_tp5o_has_expected_attributes(self):
        config = get_config(self.argv_tp5o)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tp5o'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 25
        assert test_config['cycles'] == 1
        assert test_config['tpmozafterpaint'] is True
        assert test_config['tptimeout'] == 5000
        assert test_config['mainthread'] is False
        assert test_config['tpmanifest'] != '${talos}/tests/tp5n/tp5o.manifest'
        assert test_config['win_counters'] == ['% Processor Time']
        assert test_config['w7_counters'] == ['% Processor Time']
        assert test_config['linux_counters'] == ['XRes']
        assert test_config['mac_counters'] == []
        assert test_config['responsiveness'] is True
        assert test_config['gecko_profile_interval'] == 2
        assert test_config['gecko_profile_entries'] == 4000000
        assert test_config['filters'] is not None
        assert test_config['timeout'] == 1800
        assert test_config['unit'] == 'ms'
Example #39
0
    def test_tp5o_has_expected_attributes(self):
        config = get_config(self.argv_tp5o)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tp5o'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 25
        assert test_config['cycles'] == 1
        assert test_config['tpmozafterpaint'] is True
        assert test_config['tptimeout'] == 5000
        assert test_config['mainthread'] is False
        assert test_config['tpmanifest'] != '${talos}/tests/tp5n/tp5o.manifest'
        assert test_config['win_counters'] == ['% Processor Time']
        assert test_config['w7_counters'] == ['% Processor Time']
        assert test_config['linux_counters'] == ['XRes']
        assert test_config['mac_counters'] == []
        assert test_config['responsiveness'] is True
        assert test_config['gecko_profile_interval'] == 2
        assert test_config['gecko_profile_entries'] == 4000000
        assert test_config['filters'] is not None
        assert test_config['timeout'] == 1800
        assert test_config['unit'] == 'ms'
Example #40
0
    def test_tp5o_has_expected_attributes(self):
        config = get_config(self.argv_tp5o)
        test_config = config["tests"][0]

        assert test_config["name"] == "tp5o"
        assert test_config["tpcycles"] == 1
        assert test_config["tppagecycles"] == 25
        assert test_config["cycles"] == 1
        assert test_config["tpmozafterpaint"] is True
        assert test_config["tptimeout"] == 5000
        assert test_config["mainthread"] is False
        assert test_config["tpmanifest"] != "${talos}/tests/tp5n/tp5o.manifest"
        assert test_config["win_counters"] == ["% Processor Time"]
        assert test_config["w7_counters"] == ["% Processor Time"]
        assert test_config["linux_counters"] == ["XRes"]
        assert test_config["mac_counters"] == []
        assert test_config["responsiveness"] is True
        assert test_config["gecko_profile_interval"] == 2
        assert test_config["gecko_profile_entries"] == 4000000
        assert test_config["filters"] is not None
        assert test_config["timeout"] == 1800
        assert test_config["unit"] == "ms"
Example #41
0
    def test_tart_has_expected_attributes(self):
        config = get_config(self.argv_tart)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tart'
        assert test_config['tpmanifest'] != '${talos}/tests/tart/tart.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 25
        assert test_config['tploadnocache'] is True
        assert test_config['tpmozafterpaint'] is False
        assert test_config['gecko_profile_interval'] == 10
        assert test_config['gecko_profile_entries'] == 1000000
        assert 'win_counters' not in test_config
        assert 'w7_counters' not in test_config
        assert 'linux_counters' not in test_config
        assert 'mac_counters' not in test_config
        assert test_config['preferences'] == {
            'layout.frame_rate': 0,
            'docshell.event_starvation_delay_hint': 1,
            'dom.send_after_paint_to_content': False
        }
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'ms'
Example #42
0
    def test_tart_has_expected_attributes(self):
        config = get_config(self.argv_tart)
        test_config = config["tests"][0]

        assert test_config["name"] == "tart"
        assert test_config["tpmanifest"] != "${talos}/tests/tart/tart.manifest"
        assert test_config["tpcycles"] == 1
        assert test_config["tppagecycles"] == 25
        assert test_config["tploadnocache"] is True
        assert test_config["tpmozafterpaint"] is False
        assert test_config["gecko_profile_interval"] == 10
        assert test_config["gecko_profile_entries"] == 1000000
        assert "win_counters" not in test_config
        assert "w7_counters" not in test_config
        assert "linux_counters" not in test_config
        assert "mac_counters" not in test_config
        assert test_config["preferences"] == {
            "layout.frame_rate": 0,
            "docshell.event_starvation_delay_hint": 1,
            "dom.send_after_paint_to_content": False,
        }
        assert test_config["filters"] is not None
        assert test_config["unit"] == "ms"
Example #43
0
    def test_cart_has_expected_attributes(self):
        config = get_config(self.argv_cart)
        test_config = config['tests'][0]

        assert test_config['name'] == 'cart'
        assert test_config['tpmanifest'] != '${talos}/tests/tart/cart.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 25
        assert test_config['tploadnocache'] is True
        assert test_config['tpmozafterpaint'] is False
        assert test_config['gecko_profile_interval'] == 1
        assert test_config['gecko_profile_entries'] == 10000000
        assert 'win_counters' not in test_config
        assert 'w7_counters' not in test_config
        assert 'linux_counters' not in test_config
        assert 'mac_counters' not in test_config
        assert test_config['preferences'] == {
            'layout.frame_rate': 0,
            'docshell.event_starvation_delay_hint': 1,
            'dom.send_after_paint_to_content': False
        }
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'ms'
Example #44
0
    def test_damp_has_expected_attributes(self):
        config = get_config(self.argv_damp)
        test_config = config['tests'][0]

        assert test_config['name'] == 'damp'
        assert test_config['tpmanifest'] != '${talos}/tests/devtools/damp.manifest'
        assert test_config['cycles'] == 5
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 5
        assert test_config['tploadnocache'] is True
        assert test_config['tpmozafterpaint'] is False
        assert test_config['gecko_profile_interval'] == 10
        assert test_config['gecko_profile_entries'] == 1000000
        assert 'win_counters' not in test_config
        assert 'w7_counters' not in test_config
        assert 'linux_counters' not in test_config
        assert 'mac_counters' not in test_config
        assert test_config['filters'] is not None
        assert test_config['preferences'] == {
            'devtools.memory.enabled': True,
            'addon.test.damp.webserver': '${webserver}'
        }
        assert test_config['unit'] == 'ms'
Example #45
0
    def test_tp5o_webext_has_expected_attributes(self):
        config = get_config(self.argv_tp5o_webext)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tp5o_webext'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 25
        assert test_config['cycles'] == 1
        assert test_config['tpmozafterpaint'] is True
        assert test_config['tptimeout'] == 5000
        assert test_config['mainthread'] is False
        assert test_config['tpmanifest'] != '${talos}/tests/tp5n/tp5o.manifest'
        assert test_config['win_counters'] == ['% Processor Time']
        assert test_config['w7_counters'] == ['% Processor Time']
        assert test_config['linux_counters'] == ['XRes']
        assert test_config['mac_counters'] == []
        assert test_config['responsiveness'] is True
        assert test_config['gecko_profile_interval'] == 2
        assert test_config['gecko_profile_entries'] == 4000000
        assert test_config['filters'] is not None
        assert test_config['timeout'] == 1800
        assert test_config['unit'] == 'ms'
        assert test_config['webextensions'] == '${talos}/webextensions/dummy/dummy-signed.xpi'
        assert test_config['preferences'] == {'xpinstall.signatures.required': False}
Example #46
0
    def test_tp5o_webext_has_expected_attributes(self):
        config = get_config(self.argv_tp5o_webext)
        test_config = config['tests'][0]

        assert test_config['name'] == 'tp5o_webext'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 25
        assert test_config['cycles'] == 1
        assert test_config['tpmozafterpaint'] is True
        assert test_config['tptimeout'] == 5000
        assert test_config['mainthread'] is False
        assert test_config['tpmanifest'] != '${talos}/tests/tp5n/tp5o.manifest'
        assert test_config['win_counters'] == ['% Processor Time']
        assert test_config['w7_counters'] == ['% Processor Time']
        assert test_config['linux_counters'] == ['XRes']
        assert test_config['mac_counters'] == []
        assert test_config['responsiveness'] is True
        assert test_config['gecko_profile_interval'] == 2
        assert test_config['gecko_profile_entries'] == 4000000
        assert test_config['filters'] is not None
        assert test_config['timeout'] == 1800
        assert test_config['unit'] == 'ms'
        assert test_config['webextensions'] == '${talos}/webextensions/dummy/dummy-signed.xpi'
        assert test_config['preferences'] == {'xpinstall.signatures.required': False}
Example #47
0
    def test_basic_compositor_video_has_expected_attributes(self):
        config = get_config(self.argv_basic_compositor_video)
        test_config = config['tests'][0]

        assert test_config['name'] == 'basic_compositor_video'
        assert test_config['tpmanifest'] != '${talos}/tests/video/video.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 12
        assert test_config['tpchrome'] is False
        assert test_config['timeout'] == 10000
        assert test_config['gecko_profile_interval'] == 1
        assert test_config['gecko_profile_entries'] == 2000000
        assert test_config['preferences'] == {
            'full-screen-api.allow-trusted-requests-only': False,
            'layers.acceleration.force-enabled': False,
            'layers.acceleration.disabled': True,
            'layout.frame_rate': 0,
            'docshell.event_starvation_delay_hint': 1,
            'full-screen-api.warning.timeout': 500,
            'media.ruin-av-sync.enabled': True
        }
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'ms/frame'
        assert test_config['lower_is_better'] is True
Example #48
0
    def test_ts_paint_webext_has_expected_attributes(self):
        config = get_config(self.argv_ts_paint_webext)
        test_config = config["tests"][0]

        assert test_config["name"] == "ts_paint_webext"
        assert test_config["cycles"] == 20
        assert test_config["timeout"] == 150
        assert test_config["gecko_profile_startup"] is True
        assert test_config["gecko_profile_entries"] == 10000000
        assert (test_config["url"] != "startup_test/tspaint_test.html"
                )  # interpolation was done
        assert test_config["xperf_counters"] == []
        # TODO: these don't work; is this a bug?
        # assert test_config['win7_counters'] == []
        assert test_config["filters"] is not None
        assert test_config["tpmozafterpaint"] is True
        # assert test_config['mainthread'] is False
        # assert test_config['responsiveness'] is False
        # assert test_config['unit'] == 'ms'
        # TODO: this isn't overriden
        # assert test_config['webextensions'] != '${talos}/webextensions/dummy/dummy-signed.xpi'
        assert test_config["preferences"] == {
            "xpinstall.signatures.required": False
        }
Example #49
0
    def test_basic_compositor_video_has_expected_attributes(self):
        config = get_config(self.argv_basic_compositor_video)
        test_config = config['tests'][0]

        assert test_config['name'] == 'basic_compositor_video'
        assert test_config['tpmanifest'] != '${talos}/tests/video/video.manifest'
        assert test_config['tpcycles'] == 1
        assert test_config['tppagecycles'] == 12
        assert test_config['tpchrome'] is False
        assert test_config['timeout'] == 10000
        assert test_config['gecko_profile_interval'] == 1
        assert test_config['gecko_profile_entries'] == 2000000
        assert test_config['preferences'] == {
            'full-screen-api.allow-trusted-requests-only': False,
            'layers.acceleration.force-enabled': False,
            'layers.acceleration.disabled': True,
            'layout.frame_rate': 0,
            'docshell.event_starvation_delay_hint': 1,
            'full-screen-api.warning.timeout': 500,
            'media.ruin-av-sync.enabled': True
        }
        assert test_config['filters'] is not None
        assert test_config['unit'] == 'ms/frame'
        assert test_config['lower_is_better'] is True
Example #50
0
    def test_raises_except_if_unprovided_tests_on_cli(self):
        with pytest.raises(ConfigurationError):
            get_config(self.argv_unprovided_tests)

        with pytest.raises(ConfigurationError):
            get_config(self.argv_unknown_suite)
Example #51
0
 def test_global_variable_isnt_modified(self):
     get_config(self.argv)
     assert ORIGINAL_DEFAULTS == DEFAULTS
Example #52
0
 def test_config_has_tests(self):
     config = get_config(self.argv)
     assert len(config['tests']) > 0
Example #53
0
 def test_config_has_tests(self):
     config = get_config(self.argv)
     assert len(config['tests']) > 0
Example #54
0
    def test_raises_except_if_unprovided_tests_on_cli(self):
        with pytest.raises(ConfigurationError):
            get_config(self.argv_unprovided_tests)

        with pytest.raises(ConfigurationError):
            get_config(self.argv_unknown_suite)
Example #55
0
 def test_global_variable_isnt_modified(self):
     get_config(self.argv)
     assert ORIGINAL_DEFAULTS == DEFAULTS