blob: 68804629eb69402277e370a7e73d6351b94c083b [file] [log] [blame] [edit]
# Copyright 2021 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from PB.recipe_modules.flutter.rbe.properties import InputProperties
DEPS = [
"flutter/rbe",
"recipe_engine/buildbucket",
"recipe_engine/file",
"recipe_engine/path",
"recipe_engine/properties",
"recipe_engine/step",
]
def RunSteps(api):
with api.rbe(reclient_path=api.path["cleanup"].join("rbe"),
working_path=api.path["cleanup"].join("rbe")):
# build something using rbe.
api.step("build", ["echo", "Mission Complete!"])
with api.rbe(config_path=api.path["cleanup"].join("configs"),
working_path=api.path["cleanup"].join("rbe")):
# build something using rbe.
api.step("build", ["echo", "Misison Accomplished!"])
api.rbe.wait_and_collect_logs(
working_dir=api.path["cleanup"].join("rbe"), collect_rbe_logs_latency=-1
)
api.rbe.set_rbe_triggered(False)
api.rbe.wait_and_collect_logs(
working_dir=api.path["cleanup"].join("rbe"), collect_rbe_logs_latency=61
)
api.rbe.set_rbe_triggered(True)
api.rbe.wait_and_collect_logs(
working_dir=api.path["cleanup"].join("rbe"), collect_rbe_logs_latency=61
)
api.rbe.prepare_rbe_gn(api.path["cleanup"].join("rbe"), [])
def GenTests(api):
def rbe_properties(**kwargs):
kwargs.setdefault("instance", "projects/fuchsia-infra/instance/default")
kwargs.setdefault(
"platform",
"container-image=docker://gcr.io/cloud-marketplace/google/debian11@sha256:69e2789c9f3d28c6a0f13b25062c240ee7772be1f5e6d41bb4680b63eae6b304",
)
props = api.properties(**{"$fuchsia/rbe": InputProperties(**kwargs)}
) + api.buildbucket.try_build(
project="test", builder="test"
)
return props
yield (api.test("basic") + rbe_properties())
yield (
api.test("start_rbe_failed", status="INFRA_FAILURE") +
api.step_data("setup remote execution.start reproxy", retcode=1)
)
yield (
api.test("stop_rbe_failed", status="INFRA_FAILURE") +
api.step_data("teardown remote execution.stop reproxy", retcode=1)
)
yield (api.test("read_log_proto_failure_does_not_block") + rbe_properties())