blob: 687ea6e9ff017e3c4a7f05f5ad629f750cc73e91 [file] [log] [blame]
// Copyright 2019 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package test_platform.skylab_test_runner;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/test_platform/skylab_test_runner";
import "google/protobuf/timestamp.proto";
import "test_platform/request.proto";
// Request represents a request for running an individual test via the
// skylab_test_runner recipe.
message Request {
// Prejob defines parameters that affect the steps before the actual test
// (e.g. provision).
message Prejob {
repeated test_platform.Request.Params.SoftwareDependency software_dependencies = 1 [deprecated = true];
// Mutable software prerequisites. Are installed before running the test if
// necessary. E.g. {"cros-version" : "reef-release/R77-12345.0.0"}
map<string, string> provisionable_labels = 2;
}
Prejob prejob = 1;
// Test describes which test harness and which test(s) to run.
message Test {
message Autotest {
string name = 1;
string test_args = 2;
// Keyvals are key:value pairs added to the autoserv command.
map <string, string> keyvals = 3;
// If true, run the test as a client-side test: the test logic is
// executed in its entirety on the DUT itself.
// Otherwise, run the test as a server-side test: the test logic is
// executed on the drone server and interacts with the DUT as an external
// object.
bool is_client_test = 4;
// Name to be used to display this test's output artifacts, e.g. logs,
// results etc. By default display_name is the same as name.
//
// display_name is especially useful when using test_args to distinguish
// between multiple instances of the same test in a request.
string display_name = 5;
}
oneof harness {
Autotest autotest = 1;
}
// User-specified options for how results are served to clients
message OffloadOptions {
// If this test needs synchronous offloading of results to Google Storage
bool synchronous_gs_enable = 1;
}
OffloadOptions offload = 2;
}
Test test = 2;
// Soft deadline for test_runner execution.
//
// All prejob or test execution should abort beyond this deadline.
// Clean up actions may execute beyond the deadline.
google.protobuf.Timestamp deadline = 3;
}