• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2023 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 "chromiumos/test/api/test_case.proto";
12import "chromiumos/test/api/test_case_metadata.proto";
13
14// Defines a grouping of Suites either directly through a list of Suites or
15// indirectly through a list of other contained SuiteSets. A SuiteSet
16// is intended to represent a validation assertion that is satisfied if all its
17// containing Suites pass.
18message SuiteSet {
19	// Globally unique identifier across all SuiteSets and Suites.
20	Id id = 1;
21	message Id {
22		string value = 1;
23	}
24
25	// Defines all the metadata about a SuiteSet.
26	Metadata metadata = 2;
27
28	// A list SuiteSet Id's contained within the SuiteSet.
29	repeated Id suite_sets = 4;
30
31	// A list Suite Id's contained within the SuiteSet.
32	repeated Suite.Id suites = 3;
33}
34
35// Defines a list of SuiteSets
36message SuiteSetList {
37	repeated SuiteSet suite_sets = 1;
38}
39
40// Defines a grouping of Tests that represent scheduling units CTP can enforce
41// predefined Suite rules against like runtime limits. A Suite represents a
42// smaller validation assertion that is satisfied if all its containing Tests
43// pass.
44message Suite {
45	// Globally unique identifier across all SuiteSets and Suites.
46	Id id = 1;
47	message Id {
48		string value = 1;
49	}
50
51	// Defines all the metadata about a Suite.
52	Metadata metadata = 2;
53
54	// The list of Tests contained within the Suite.
55	repeated TestCase.Id tests = 3;
56}
57
58// Defines a list of Suites
59message SuiteList {
60	repeated Suite suites = 1;
61}
62
63// Contains extra information regarding the Suite/SuiteSet that does not affect
64// execution or scheduling.
65message Metadata {
66	// Email contacts of owners that gate changes to the Suite/SuiteSet and
67	// should be notified regarding any Suite/SuiteSet issues (e.g. flakiness,
68	// runtime).
69	repeated Contact owners = 1;
70
71	// The Buganizer component to issue bugs against regarding the
72	// Suite/SuiteSet.
73	BugComponent bug_component = 2;
74
75	// A short summary capturing the quality guarantee validated by the
76	// Suite/SuiteSet (e.g. “Validates a device passes Engineering Verification
77	// Testing and is ready to continue to Design Verification Testing”).
78	Criteria criteria = 3;
79}