blob: cbbfafced8d9cbf1590f21e8c53175bce952c8c1 [file] [log] [blame]
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto3";
import "google/protobuf/any.proto";
import "google/protobuf/timestamp.proto";
import "tools/tradefederation/core/proto/metric_measurement.proto";
option java_package = "com.android.tradefed.result.proto";
option java_outer_classname = "TestRecordProto";
package android_test_record;
// A record containing the status, logs, and other information associated with a
// particular test execution.
message TestRecord {
// The UUID of this TestRecord.
string test_record_id = 1;
// The UUID of this TestRecord's parent. Unset if this is a top-level record.
string parent_test_record_id = 2;
// References to any finer-grained TestRecords that were generated as part of
// this test.
repeated ChildReference children = 3;
// The number of children this TestRecord was expected to have. Unset if not
// known in advance.
int64 num_expected_children = 4;
// The result status (Pass, Fail, etc) of this test unit.
TestStatus status = 5;
// Extra debugging information.
DebugInfo debug_info = 6;
// The time at which this test started executing.
google.protobuf.Timestamp start_time = 7;
// The time at which this test finished executing.
google.protobuf.Timestamp end_time = 8;
// Any artifact files associated with this test.
map<string, google.protobuf.Any> artifacts = 9;
// Any metrics or measurements associated with this test.
map<string, tradefed.metric.Metric> metrics = 10;
// Metadata describing the test that was run.
google.protobuf.Any description = 11;
// The attempt number of a target if the target ran several times. First
// attempt is 0 (Default value).
int64 attempt_id = 12;
}
// A reference to a finer-grained TestRecord.
message ChildReference {
oneof reference {
// The UUID of the TestRecord.
string test_record_id = 1;
// An inlined TestRecord.
TestRecord inline_test_record = 2;
}
}
// The overall pass / fail status for a particular TestRecord.
enum TestStatus {
UNKNOWN = 0;
PASS = 1;
FAIL = 2;
IGNORED = 3;
ASSUMPTION_FAILURE = 4;
}
// Associated debugging information to accompany a TestStatus.
message DebugInfo {
// An error message.
string error_message = 1;
// A stacktrace.
string trace = 2;
}