blob: 202c09e1a394502ad106b1d349e8cba5a00700e6 [file] [log] [blame]
// Copyright 2022 The ChromiumOS Authors
// 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";
import "chromiumos/test/api/provision_state.proto";
import "chromiumos/test/api/test_suite.proto";
import "chromiumos/test/lab/api/dut.proto";
import "chromiumos/build/api/container_metadata.proto";
import "test_platform/common/cft_steps_config.proto";
// CFTTestRequest represents a request for running an individual test suite via
// CFT workflow in skylab_test_runner recipe.
message CFTTestRequest {
// Primary Dut info
Device primary_dut = 1;
// Companion Duts info
repeated Device companion_duts = 2;
// Test suites to run by tag or explicit list of tests.
repeated chromiumos.test.api.TestSuite test_suites = 3;
// Provision/Test execution will need to be invoked before this.
// Currently CTR do not take any deadline. But in future, if it does, this
// should be passed in.
google.protobuf.Timestamp deadline = 4;
// The UID of the individual CTP request which kicked off this test run.
// Note that distinct requests inside a multi-request CTP build will have
// different UIDs.
string parent_request_uid = 5;
// The buildbucket ID of the CTP build that sent this test_runner request.
int64 parent_build_id = 6;
// AutotestKeyvals are (key, value) pairs that will be added to all
// autotest tasks run.
map<string, string> autotest_keyvals = 7;
// TestExecutionBehavior specifies how tests should be run.
// This can include information about whether the tests should run and
// if failures should be exonerated.
test_platform.Request.Params.TestExecutionBehavior
default_test_execution_behavior = 8;
// Container metadata to be used in test execution.
chromiumos.build.api.ContainerMetadata container_metadata = 9;
// The retry attempt identifier. Details how many retries
// this build has performed.
int32 retry_number = 10;
// Steps config for cft test execution. If not provided, all desired steps
// will be executed by default.
test_platform.common.CftStepsConfig steps_config = 11;
// b/267268890: temporary flag to enable trv2 integration testing and
// gradual rollout. Should be deprecated after full rollout.
bool run_via_trv2 = 12;
// Translate the request into a CrosTestRunnerRequest within TRv2.
// Requires run_via_trv2 set to true.
bool translate_trv2_request = 13;
// Test case ids that have been filtered by CTP.
// Uploaded to results as SKIPPED.
repeated string filtered_test_case_ids = 14;
message Device {
// DUT model to be provisioned.
chromiumos.test.lab.api.DutModel dut_model = 1;
// Provision state for this device.
chromiumos.test.api.ProvisionState provision_state = 2;
// ContainerMetadataKey is the key to search in the ContainerMetadata map
// defined in container_metadata.proto
string container_metadata_key = 3;
}
}