/* * Copyright (C) 2024 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"; package luci.resultdb.v1; option go_package = "go.chromium.org/luci/resultdb/proto/v1;resultpb"; option java_package = "com.android.resultdb.proto"; option java_multiple_files = true; // Information about why a test failed. This information may be displayed // to developers in result viewing UIs and will also be used to cluster // similar failures together. // For example, this will contain assertion failure messages and stack traces. message FailureReason { // The error message that ultimately caused the test to fail. This should // only be the error message and should not include any stack traces. // An example would be the message from an Exception in a Java test. // In the case that a test failed due to multiple expectation failures, any // immediately fatal failure should be chosen, or otherwise the first // expectation failure. // If this field is empty, other fields (including those from the TestResult) // may be used to cluster the failure instead. // // The size of the message must be equal to or smaller than 1024 bytes in // UTF-8. string primary_error_message = 1; // Error represents a problem that caused a test to fail, such as a crash // or expectation failure. message Error { // The error message. This should only be the error message and // should not include any stack traces. An example would be the // message from an Exception in a Java test. // // This message may be used to cluster related failures together. // // The size of the message must be equal to or smaller than 1024 bytes in // UTF-8. string message = 1; } // The error(s) that caused the test to fail. // // If there is more than one error (e.g. due to multiple expectation failures), // a stable sorting should be used. A recommended form of stable sorting is: // - Fatal errors (errors that cause the test to terminate immediately first, // then // - Within fatal/non-fatal errors, sort by chronological order // (earliest error first). // // Where this field is populated, errors[0].message shall match // primary_error_message. // // The total combined size of all errors (as measured by proto.Size()) must // not exceed 3,172 bytes. repeated Error errors = 2; // The number of errors that are truncated from the errors list above due to // the size limits. int32 truncated_errors_count = 3; }