blob: 67bf46eea8e2db93ae83929cd5846b27536166d2 [file] [log] [blame]
# Copyright 2023 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Presubmit tests for android_webview/java/res/raw"""
import os
import sys
def CheckChangeOnUpload(input_api, output_api):
results = []
results.extend(_CheckHistogramsAllowlist(input_api, output_api))
return results
def _CheckHistogramsAllowlist(input_api, output_api):
"""Checks that HistogramsAllowlist.java contains valid histograms."""
src_path = os.path.join(input_api.PresubmitLocalPath(), '..', '..', '..',
'..')
histograms_path = os.path.join(src_path, 'tools', 'metrics', 'histograms')
sys.path.append(histograms_path)
import print_histogram_names
from histograms_allowlist_check import WellKnownAllowlistPath
from histograms_allowlist_check import check_histograms_allowlist
allowlist_path = os.path.join(
src_path, WellKnownAllowlistPath.ANDROID_WEBVIEW.relative_path())
histograms_allowlist_filter = lambda f: f.LocalPath().endswith(
WellKnownAllowlistPath.ANDROID_WEBVIEW.filename())
if not input_api.AffectedFiles(file_filter=histograms_allowlist_filter):
return []
xml_files = print_histogram_names.histogram_xml_files()
result = check_histograms_allowlist(output_api, allowlist_path, xml_files)
# TODO(crbug.com/391795980): Files should be scope managed, remove this
# quick fixed once the issue is done.
for f in xml_files:
f.close()
return result