xref: /aosp_15_r20/external/cronet/components/nacl/browser/PRESUBMIT.py (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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