blob: d4769eac62e0dcf4e907c7987abc13c26d87596b [file] [log] [blame]
Julien Desprez093c3f62018-05-21 16:23:37 -07001/*
2 * Copyright (C) 2018 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16syntax = "proto3";
17
18import "google/protobuf/any.proto";
19import "google/protobuf/timestamp.proto";
20import "tools/tradefederation/core/proto/metric_measurement.proto";
21
22option java_package = "com.tradefed.result.proto";
23option java_outer_classname = "TestRecordProto";
24
25package android_test_record;
26
27// A record containing the status, logs, and other information associated with a
28// particular test execution.
29message TestRecord {
30 // The UUID of this TestRecord.
31 string test_record_id = 1;
32
33 // The UUID of this TestRecord's parent. Unset if this is a top-level record.
34 string parent_test_record_id = 2;
35
36 // References to any finer-grained TestRecords that were generated as part of
37 // this test.
38 repeated ChildReference children = 3;
39
40 // The number of children this TestRecord was expected to have. Unset if not
41 // known in advance.
42 int64 num_expected_children = 4;
43
44 // The result status (Pass, Fail, etc) of this test unit.
45 TestStatus status = 5;
46
47 // Extra debugging information.
48 DebugInfo debug_info = 6;
49
50 // The time at which this test started executing.
51 google.protobuf.Timestamp start_time = 7;
52
53 // The time at which this test finished executing.
54 google.protobuf.Timestamp end_time = 8;
55
56 // Any artifact files associated with this test.
57 map<string, google.protobuf.Any> artifacts = 9;
58
59 // Any metrics or measurements associated with this test.
60 map<string, tradefed.metric.Metric> metrics = 10;
61
62 // Metadata describing the test that was run.
63 google.protobuf.Any description = 11;
64}
65
66// A reference to a finer-grained TestRecord.
67message ChildReference {
68 oneof reference {
69 // The UUID of the TestRecord.
70 string test_record_id = 1;
71
72 // An inlined TestRecord.
73 TestRecord inline_test_record = 2;
74 }
75}
76
77// The overall pass / fail status for a particular TestRecord.
78enum TestStatus {
79 UNKNOWN = 0;
80 PASS = 1;
81 FAIL = 2;
82 IGNORED = 3;
83 ASSUMPTION_FAILURE = 4;
84}
85
86// Associated debugging information to accompany a TestStatus.
87message DebugInfo {
88 // An error message.
89 string error_message = 1;
90
91 // A stacktrace.
92 string trace = 2;
93}