• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2021 The ChromiumOS Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5syntax = "proto3";
6
7package chromiumos.test.api;
8
9option go_package = "go.chromium.org/chromiumos/config/go/test/api";
10
11import "google/protobuf/any.proto";
12import "chromiumos/test/api/test_case_result.proto";
13import "chromiumos/test/api/test_execution_metadata.proto";
14import "chromiumos/test/api/test_suite.proto";
15import "chromiumos/test/lab/api/dut.proto";
16import "chromiumos/test/lab/api/ip_endpoint.proto";
17
18// CrosTestRequest specifies test suites, DUTs and other test-related
19// information to run tests.
20message CrosTestRequest {
21  message Device {
22    // DUT information.
23    chromiumos.test.lab.api.Dut dut = 1;
24    // DUT Server address.
25    chromiumos.test.lab.api.IpEndpoint dut_server = 2;
26    // Provision server address.
27    chromiumos.test.lab.api.IpEndpoint provision_server = 3;
28    // TestLibs server address.
29    chromiumos.test.lab.api.IpEndpoint libs_server = 4;
30    // Devboard server address.
31    chromiumos.test.lab.api.IpEndpoint devboard_server = 5;
32  }
33  // Test suites to run (by tag or explicit list of tests)
34  repeated TestSuite test_suites = 1;
35  // Primary DUT
36  Device primary = 2;
37  // A list of companion hosts to be used for running tests.
38  repeated Device companions = 3;
39  // Inventory Server address.
40  chromiumos.test.lab.api.IpEndpoint inventory_server = 4;
41  // Test harness specific metadata
42  google.protobuf.Any metadata = 5;
43  // Generic args which will be directly passed to the harness. The driver is responsible for handling them
44  repeated Arg args = 6;
45
46  // Publish server address.
47  repeated PublishServer publish_servers = 7;
48}
49
50message PublishServer {
51  string name = 1;
52  chromiumos.test.lab.api.IpEndpoint address = 2;
53}
54
55message CrosTestResponse {
56  repeated TestCaseResult test_case_results = 1;
57  google.protobuf.Any metadata = 2;
58  repeated GivenTestResult given_test_results =3;
59
60 // useful when 1 given TC results in many child results
61  message GivenTestResult {
62    string parent_test = 1;
63    repeated TestCaseResult child_test_case_results = 2;
64  }
65}
66