1# Copyright 2017 The Chromium Authors 2# 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 9def _RunHistogramChecks(input_api, output_api, histogram_name): 10 try: 11 # Setup sys.path so that we can call histograms code. 12 import sys 13 original_sys_path = sys.path 14 sys.path = sys.path + [input_api.os_path.join( 15 input_api.change.RepositoryRoot(), 16 'tools', 'metrics', 'histograms')] 17 18 import presubmit_bad_message_reasons 19 return presubmit_bad_message_reasons.PrecheckBadMessage(input_api, 20 output_api, histogram_name) 21 except: 22 return [output_api.PresubmitError('Could not verify histogram!')] 23 finally: 24 sys.path = original_sys_path 25 26def CheckChangeOnUpload(input_api, output_api): 27 return _RunHistogramChecks(input_api, output_api, "BadMessageReasonNaCl") 28