
presubmit now uses python3 only. Bug: 1207012 Change-Id: Idcbbccd59cb69442e06b3058084c237db5208204 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4568251 Auto-Submit: Takuto Ikuta <tikuta@chromium.org> Reviewed-by: Bruce Dawson <brucedawson@chromium.org> Owners-Override: Bruce Dawson <brucedawson@chromium.org> Commit-Queue: Bruce Dawson <brucedawson@chromium.org> Cr-Commit-Position: refs/heads/main@{#1151282}
45 lines
1.7 KiB
Python
45 lines
1.7 KiB
Python
# Copyright 2022 The Chromium Authors
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
"""Presubmit script for the content/browser/private_aggregation directory.
|
|
|
|
See https://www.chromium.org/developers/how-tos/depottools/presubmit-scripts
|
|
for more details about the presubmit API built into depot_tools.
|
|
"""
|
|
|
|
|
|
def CheckAggregationBudgetStorageSchemaModification(input_api, output_api):
|
|
""" Checks that kCurrentSchemaVersion is modified when necessary.
|
|
|
|
Whenever private_aggregation_budget_storage.cc changes and
|
|
kCurrentSchemaVersion stays intact, this check returns a presubmit warning to
|
|
make sure the value is updated if necessary.
|
|
"""
|
|
|
|
database_file_changed = False
|
|
database_version_changed = False
|
|
|
|
for affected_file in input_api.AffectedFiles():
|
|
basename = input_api.basename(affected_file.LocalPath())
|
|
|
|
if basename == 'private_aggregation_budget_storage.cc':
|
|
database_file_changed = True
|
|
for (_, line) in affected_file.ChangedContents():
|
|
if 'constexpr int kCurrentSchemaVersion ' in line:
|
|
database_version_changed = True
|
|
break
|
|
|
|
out = []
|
|
if database_file_changed and not database_version_changed:
|
|
out.append(output_api.PresubmitPromptWarning(
|
|
'Please make sure that the private aggregation api budget database is '
|
|
'properly versioned and migrated when making changes to schema or table'
|
|
' contents. kCurrentSchemaVersion in '
|
|
'private_aggregation_budget_storage.cc must be updated when doing a '
|
|
'migration.' ))
|
|
return out
|
|
|
|
def CheckChangeOnUpload(input_api, output_api):
|
|
return CheckAggregationBudgetStorageSchemaModification(input_api, output_api)
|