| // 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; |
| } |
| } |