blob: f5151573538701bc3e40ea629075c55a224168c1 [file] [log] [blame]
# Copyright 2019 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.
from recipe_engine import recipe_test_api
from RECIPE_MODULES.fuchsia.testing_requests import api
class FuchsiaTestingRequestsTestApi(recipe_test_api.RecipeTestApi):
SERIAL_LOG_NAME = api.SERIAL_LOG_NAME
SYSLOG_NAME = api.SYSLOG_NAME
TEST_RESULTS_DIR_NAME = api.TestingRequestsApi.TEST_RESULTS_DIR_NAME
EXAMPLE_TESTS_JSON = [
{
"test": {
"name": "hello",
"label": "//a/b/c:hello_test(//toolchain)",
"os": "fuchsia",
"path": "/pkgfs/packages/path/to/hello",
"package_url": "fuchsia-pkg://fuchsia.com/hello",
}
},
{
"test": {
"name": "goodbye",
"label": "//a/b/c:goodbye_test(//toolchain)",
"os": "fuchsia",
"path": "/pkgfs/packages/path/to/goodbye",
"package_url": "fuchsia-pkg://fuchsia.com/goodbye",
}
},
]
def default_tests(self):
"""Returns mock step data for the output of testsharder.
Returns:
list(testsharder.Test)
"""
return [self.m.testsharder.test(**t["test"]) for t in self.EXAMPLE_TESTS_JSON]
def task_request_jsonish(self, legacy_qemu):
ret = self.m.swarming.example_task_request_jsonish()
ret["tags"] = ["uses_legacy_qemu:%s" % str(legacy_qemu).lower()]
return ret
def task_requests_step_data(self, task_requests, step_name):
"""Returns mock step data for swarming task requests.
This should be used by any test which calls api.testing_requests.task_requests() and expects
to shard tests.
Args:
shards (seq[dict]): A set of example shards which should
be used as step data for the result of invoking the testsharder.
step_name (str): name to use for step data
Returns:
RecipeTestApi.step_data for the extract_results step.
"""
return self.step_data(step_name, self.m.json.output(task_requests))