blob: b30000005edbb522b8d7af6bac040dd229cc3e17 [file] [log] [blame]
# Copyright 2020 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
DEPS = [
"flutter/display_util",
"fuchsia/status_check",
"recipe_engine/file",
"recipe_engine/path",
"recipe_engine/swarming",
]
def RunSteps(api):
request = (
api.swarming.task_request().with_name(
"flutter_fuchsia_unittests").with_priority(100))
request = request.with_slice(
0,
request[0].with_command([
"./run_tests.sh", "image_name", "packages_name"
]).with_dimensions(pool="luci.flutter.tests").with_isolated(
"isolated_hash").with_expiration_secs(3600).with_io_timeout_secs(
3600).with_execution_timeout_secs(3600).with_idempotent(
True).with_containment_type("AUTO"),
)
# Trigger the task request.
metadata = api.swarming.trigger("Trigger Tests", requests=[request])
links = {m.id: m.task_ui_link for m in metadata}
# Collect the result of the task by metadata.
fuchsia_output = api.path["cleanup"].join("fuchsia_test_output")
api.file.ensure_directory("swarming output", fuchsia_output)
results = api.swarming.collect(
"collect", metadata, output_dir=fuchsia_output, timeout="30m")
api.display_util.display_tasks(
step_name="display tasks",
results=results,
metadata=metadata,
raise_on_failure=True,
)
def GenTests(api):
yield (
api.status_check.test("Test Infra Failure", status="infra_failure") +
api.step_data("Trigger Tests", api.swarming.trigger(["task1", "task2"])) +
api.step_data(
"collect",
api.swarming.collect([
api.swarming.task_result(
id="0", name="task1", state=api.swarming.TaskState.KILLED),
api.swarming.task_result(id="1", name="task2", failure=True),
]),
))
yield (
api.status_check.test("Test Failure", status="failure") +
api.step_data("Trigger Tests", api.swarming.trigger(["task1", "task2"])) +
api.step_data(
"collect",
api.swarming.collect([
api.swarming.task_result(id="0", name="task1"),
api.swarming.task_result(id="1", name="task2", failure=True),
]),
))
yield (api.status_check.test("Test Success", status="success") +
api.step_data("Trigger Tests", api.swarming.trigger(["task1"])) +
api.step_data(
"collect",
api.swarming.collect([
api.swarming.task_result(id="0", name="task1"),
]),
))