Bug 1219733 - Allow a 'bug_numbers' field in Histograms.json entries. r=vladan

This commit is contained in:
Georg Fritzsche
2015-11-02 11:32:53 +01:00
parent 777827f3c0
commit c875ecd0de
2 changed files with 25 additions and 1 deletions

View File

@@ -75,7 +75,8 @@ def exponential_buckets(dmin, dmax, n_buckets):
return ret_array
always_allowed_keys = ['kind', 'description', 'cpp_guard', 'expires_in_version',
'alert_emails', 'keyed', 'releaseChannelCollection']
'alert_emails', 'keyed', 'releaseChannelCollection',
'bug_numbers']
n_buckets_whitelist = None;
try:
@@ -221,6 +222,7 @@ is enabled."""
lambda allowed_keys: Histogram.check_keys(name, definition, allowed_keys))
Histogram.check_expiration(name, definition)
Histogram.check_bug_numbers(name, definition)
def check_name(self, name):
if '#' in name:
@@ -240,6 +242,18 @@ is enabled."""
definition['expires_in_version'] = expiration
@staticmethod
def check_bug_numbers(name, definition):
bug_numbers = definition.get('bug_numbers')
if not bug_numbers:
return
if not isinstance(bug_numbers, list):
raise ValueError, 'bug_numbers field for "%s" should be an array' % (name)
if not all(type(num) is int for num in bug_numbers):
raise ValueError, 'bug_numbers array for "%s" should only contain integers' % (name)
@staticmethod
def check_keys(name, definition, allowed_keys):
for key in definition.iterkeys():