• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
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.android.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  // The attempt number of a target if the target ran several times. First
66  // attempt is 0 (Default value).
67  int64 attempt_id = 12;
68}
69
70// A reference to a finer-grained TestRecord.
71message ChildReference {
72  oneof reference {
73    // The UUID of the TestRecord.
74    string test_record_id = 1;
75
76    // An inlined TestRecord.
77    TestRecord inline_test_record = 2;
78  }
79}
80
81// The overall pass / fail status for a particular TestRecord.
82enum TestStatus {
83  UNKNOWN = 0;
84  PASS = 1;
85  FAIL = 2;
86  IGNORED = 3;
87  ASSUMPTION_FAILURE = 4;
88}
89
90// Associated debugging information to accompany a TestStatus.
91message DebugInfo {
92  // An error message.
93  string error_message = 1;
94
95  // A stacktrace.
96  string trace = 2;
97}