Bug 1232270 - set alert_threshold definitions for talos. r?wlach
MozReview-Commit-ID: 4xKQ9JXpjp6
--- a/testing/talos/talos/output.py
+++ b/testing/talos/talos/output.py
@@ -212,26 +212,32 @@ class PerfherderOutput(Output):
'name': page,
'value': val['filtered'],
'replicates': replicates[page],
}
subtests.append(subtest)
if test.test_config.get('lower_is_better') is not None:
subtest['lowerIsBetter'] = \
test.test_config['lower_is_better']
+ if test.test_config.get('alert_threshold') is not None:
+ subtest['alertThreshold'] = \
+ test.test_config['alert_threshold']
if test.test_config.get('unit'):
subtest['unit'] = test.test_config['unit']
# if there is more than one subtest, calculate a summary result
if len(subtests) > 1:
suite['value'] = self.construct_results(
vals, testname=test.name())
if test.test_config.get('lower_is_better') is not None:
suite['lowerIsBetter'] = \
test.test_config['lower_is_better']
+ if test.test_config.get('alert_threshold') is not None:
+ suite['alertThreshold'] = \
+ test.test_config['alert_threshold']
# counters results_aux data
counter_subtests = []
for cd in test.all_counter_results:
for name, vals in cd.items():
# We want to add the xperf data as talos_counters
# exclude counters whose values are tuples (bad for
# graphserver)
--- a/testing/talos/talos/test.py
+++ b/testing/talos/talos/test.py
@@ -26,16 +26,17 @@ def test_dict():
class Test(object):
"""abstract base class for a Talos test case"""
cycles = None # number of cycles
keys = []
desktop = True
filters = filter.ignore_first.prepare(1) + filter.median.prepare()
lower_is_better = True
+ alert_threshold = 2.0
@classmethod
def name(cls):
return cls.__name__
@classmethod
def description(cls):
if cls.__doc__ is None:
@@ -230,17 +231,18 @@ class PageloaderTest(Test):
keys = ['tpmanifest', 'tpcycles', 'tppagecycles', 'tprender', 'tpchrome',
'tpmozafterpaint', 'tploadnocache', 'rss', 'mainthread',
'resolution', 'cycles', 'sps_profile', 'sps_profile_interval',
'sps_profile_entries', 'tptimeout', 'win_counters', 'w7_counters',
'linux_counters', 'mac_counters', 'tpscrolltest', 'xperf_counters',
'timeout', 'shutdown', 'responsiveness', 'profile_path',
'xperf_providers', 'xperf_user_providers', 'xperf_stackwalk',
'filters', 'preferences', 'extensions', 'setup', 'cleanup',
- 'test_name_extension', 'lower_is_better', 'unit']
+ 'test_name_extension', 'lower_is_better', 'alert_threshold',
+ 'unit']
@register_test()
class tabpaint(PageloaderTest):
"""
Tests the amount of time it takes to open new tabs, triggered from
both the parent process and the content process.
"""
@@ -559,16 +561,17 @@ class tcanvasmark(PageloaderTest):
unit = 'score'
lower_is_better = False
class dromaeo(PageloaderTest):
"""abstract base class for dramaeo tests"""
filters = filter.dromaeo.prepare()
lower_is_better = False
+ alert_threshold = 5.0
@register_test()
class dromaeo_css(dromaeo):
"""
Dromaeo suite of tests for JavaScript performance testing.
See the Dromaeo wiki (https://wiki.mozilla.org/Dromaeo)
for more information.
@@ -676,8 +679,9 @@ class a11yr(PageloaderTest):
performance regressions.
"""
tpmanifest = '${talos}/tests/a11y/a11y.manifest'
tpcycles = 1
tppagecycles = 25
tpmozafterpaint = True
preferences = {'dom.send_after_paint_to_content': False}
unit = 'ms'
+ alert_threshold = 5.0