blob: 9d2a55896f9c18a5fe1ca78a7d2943a3205d4b98 [file] [log] [blame] [edit]
# Copyright 2025 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
"""Test API for txt_roll."""
from __future__ import annotations
from recipe_engine import recipe_test_api, step_data
from PB.recipe_modules.pigweed.variable_roll.variable_entry import (
CipdVariableEntry,
VariableEntry,
)
class VariableRollTestApi(recipe_test_api.RecipeTestApi):
"""Test API for variable_roll."""
def entry(
self,
path: str,
*,
variable: str,
remote: str = 'https://pigweed.googlesource.com/pigweed/pigweed',
branch: str = '',
comment_prefix: str = '',
):
return VariableEntry(
path=path,
remote=remote,
branch=branch,
variable=variable,
comment_prefix=comment_prefix,
)
def cipd_entry(
self,
*,
path: str,
spec: str,
variable: str,
ref: str = 'latest',
tag: str = 'git_revision',
name: str = '',
comment_prefix: str = '',
):
return CipdVariableEntry(
path=path,
spec=spec,
variable=variable,
ref=ref,
tag=tag,
name=name,
comment_prefix=comment_prefix,
)
def cipd_read(
self,
prefix: str,
data: str,
*,
needs_update: bool,
) -> step_data.StepData:
result = self.step_data(f'{prefix}.read', self.m.file.read_text(data))
if needs_update:
result += self.step_data(
f'{prefix}.read (2)',
self.m.file.read_text(data),
)
return result