blob: 0aabb4558b1bc123a4783e63a088aa2df87397d0 [file] [log] [blame]
Avi Drissman4e1b7bc32022-09-15 14:03:501# Copyright 2017 The Chromium Authors
dougtb53dc592017-02-01 16:25:002# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5"""Chromium presubmit script to check that BadMessage enums in histograms.xml
6match the corresponding bad_message.h file.
7"""
8
Elaine Chienacefa102021-06-16 00:16:129
lukasza14d9a1a2017-04-28 15:23:5710def CheckChangeOnCommit(input_api, output_api):
11 return _CommonChecks(input_api, output_api)
12
13def CheckChangeOnUpload(input_api, output_api):
14 return _CommonChecks(input_api, output_api)
15
dougtb53dc592017-02-01 16:25:0016def _RunHistogramChecks(input_api, output_api, histogram_name):
17 try:
lukasza14d9a1a2017-04-28 15:23:5718 # Setup sys.path so that we can call histograms code.
dougtb53dc592017-02-01 16:25:0019 import sys
20 original_sys_path = sys.path
21 sys.path = sys.path + [input_api.os_path.join(
22 input_api.change.RepositoryRoot(),
23 'tools', 'metrics', 'histograms')]
24
25 import presubmit_bad_message_reasons
26 return presubmit_bad_message_reasons.PrecheckBadMessage(input_api,
27 output_api, histogram_name)
28 except Exception as e:
29 return [output_api.PresubmitError("Error verifying histogram (%s)."
30 % str(e))]
31 finally:
32 sys.path = original_sys_path
33
lukasza14d9a1a2017-04-28 15:23:5734def _CommonChecks(input_api, output_api):
dougtb53dc592017-02-01 16:25:0035 return _RunHistogramChecks(input_api, output_api, "BadMessageReasonContent")