blob: 9d75deee3867854322a68b40ba8d227632774fdb [file] [log] [blame]
# Copyright 2016 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.goma.properties import InputProperties
DEPS = [
"flutter/goma",
"fuchsia/status_check",
"recipe_engine/buildbucket",
"recipe_engine/json",
"recipe_engine/platform",
"recipe_engine/properties",
"recipe_engine/step",
]
def RunSteps(api):
# Grab goma_dir out of the context.
api.goma.goma_dir
with api.goma():
# build something using goma.
api.step("echo goma jobs", ["echo", str(api.goma.jobs)])
api.goma.set_path(api.goma.goma_dir)
def GenTests(api):
def goma_properties(**kwargs):
return api.properties(**{"$flutter/goma": InputProperties(**kwargs)})
yield api.status_check.test("mac") + api.platform.name("mac")
yield api.status_check.test("win") + api.platform.name("win")
yield (
api.status_check.test("linux_goma_dir")
+ api.platform.name("linux")
+ goma_properties(goma_dir="path/to/goma")
)
yield (
api.status_check.test("linux_jobs")
+ api.platform.name("linux")
+ goma_properties(jobs=80)
)
yield (
api.status_check.test("linux_non_default_server")
+ api.platform.name("linux")
+ goma_properties(server="goma.fuchsia.dev")
)
yield (
api.status_check.test("linux_arbitrary_toolchain")
+ api.platform.name("linux")
+ goma_properties(enable_arbitrary_toolchains=True)
)
yield (
api.status_check.test("linux_start_goma_failed", status="infra_failure")
+ api.platform.name("linux")
+ api.step_data("setup goma.start goma", retcode=1)
)
yield (
api.status_check.test("linux_stop_goma_failed", status="failure")
+ api.platform.name("linux")
+ api.step_data("teardown goma.stop goma", retcode=1)
)
yield (
api.status_check.test("linux_invalid_goma_jsonstatus")
+ api.platform.name("linux")
+ api.step_data("teardown goma.goma jsonstatus", api.json.output(data=None))
)
yield (
api.status_check.test("valid_buildname_and_build_id")
+ api.platform.name("linux")
+ api.buildbucket.try_build(project="test", builder="test")
)
yield (
api.status_check.test("linux_use_http_proxy")
+ api.platform.name("linux")
+ goma_properties(
server="rbe-prod1.endpoints.fuchsia-infra-goma-prod.cloud.goog",
use_http2=True,
)
)