blob: 6ef48228d01f614a343659d14fab011d89cd72e8 [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",
"recipe_engine/buildbucket",
"recipe_engine/json",
"recipe_engine/platform",
"recipe_engine/properties",
"recipe_engine/step",
]
def RunSteps(api):
# Use goma_dir outside 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.test("mac") + api.platform.name("mac")
yield api.test("win") + api.platform.name("win")
yield (
api.test("linux_goma_dir") + api.platform.name("linux") +
goma_properties(goma_dir="path/to/goma")
)
yield (
api.test("linux_jobs") + api.platform.name("linux") +
goma_properties(jobs=80)
)
yield (
api.test("linux_non_default_server") + api.platform.name("linux") +
goma_properties(server="goma.fuchsia.dev")
)
yield (
api.test("linux_arbitrary_toolchain") + api.platform.name("linux") +
goma_properties(enable_arbitrary_toolchains=True)
)
yield (
api.test("linux_start_goma_failed", status="INFRA_FAILURE") +
api.platform.name("linux") +
api.step_data("setup goma.start goma", retcode=1)
)
yield (
api.test("linux_stop_goma_failed", status="INFRA_FAILURE") +
api.platform.name("linux") +
api.step_data("teardown goma.stop goma", retcode=1)
)
yield (
api.test("linux_invalid_goma_jsonstatus") + api.platform.name("linux") +
api
.step_data("teardown goma.goma jsonstatus", api.json.output(data=None))
)
yield (
api.test("valid_buildname_and_build_id") + api.platform.name("linux") +
api.buildbucket.try_build(project="test", builder="test")
)