// Copyright 2014 The Bazel Authors. All rights reserved. // // 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 = "proto2"; package blaze; option java_package = "com.google.devtools.build.lib.view.test"; // Status data of test cases which failed (used only for printing test summary) enum FailedTestCasesStatus { /** Information about every test case is available. */ FULL = 1; /** Information about some test cases may be missing. */ PARTIAL = 2; /** No information about individual test cases. */ NOT_AVAILABLE = 3; /** This is an empty object still without data. */ EMPTY = 4; }; // Detailed status data for a TestRunnerAction execution. enum BlazeTestStatus { NO_STATUS = 0; PASSED = 1; FLAKY = 2; TIMEOUT = 3; FAILED = 4; INCOMPLETE = 5; REMOTE_FAILURE = 6; FAILED_TO_BUILD = 7; BLAZE_HALTED_BEFORE_TESTING = 8; }; // TestCase contains detailed data about all tests (cases/suites/decorators) // ran, structured in a tree. This data will be later used to present the tests // by the web status server. message TestCase { enum Type { TEST_CASE = 0; TEST_SUITE = 1; TEST_DECORATOR = 2; UNKNOWN = 3; } enum Status { PASSED = 0; FAILED = 1; ERROR = 2; } repeated TestCase child = 1; optional string name = 2; optional string class_name = 3; optional int64 run_duration_millis = 4; optional string result = 5; optional Type type = 6; optional Status status = 7; optional bool run = 8 [default = true]; }; // TestResultData holds the outcome data for a single test action (A // single test rule can result in multiple actions due to sharding and // runs_per_test settings.) message TestResultData { // The following two fields are used for TestRunnerAction caching. // This reflects the fact that failing tests are successful // actions that might be cached, depending on option settings. optional bool cachable = 1; optional bool test_passed = 2; // Following data is informational. optional BlazeTestStatus status = 3 [default = NO_STATUS]; optional string status_details = 16; repeated string failed_logs = 4; repeated string warning = 5; optional bool has_coverage = 6; // Returns if this was cached in remote execution. optional bool remotely_cached = 7; // Returns true if this was executed remotely optional bool is_remote_strategy = 8; // All associated test times (in ms). repeated int64 test_times = 9; // Passed log paths. Set if the test passed. optional string passed_log = 10; // Test times, without remote execution overhead (in ms). repeated int64 test_process_times = 11; // Total time in ms. optional int64 run_duration_millis = 12; // Start time of the test action in ms since the epoch. optional int64 start_time_millis_epoch = 15; // Additional build info optional TestCase test_case = 13; optional FailedTestCasesStatus failed_status = 14; };