blob: 0ac9055e90a883136c5873bc7560dd8d759a0171 [file] [log] [blame]
// Copyright 2020 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package test_platform.phosphorus;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/test_platform/phosphorus";
import "google/protobuf/timestamp.proto";
import "test_platform/phosphorus/common.proto";
// FetchCrashesRequest defines the input of `phosphorus fetchcrashes`.
message FetchCrashesRequest {
Config config = 1;
string dut_hostname = 2;
// Hard deadline for execution.
//
// FetchCrashes execution should abort beyond this deadline.
google.protobuf.Timestamp deadline = 3;
// If set, upload crashes.
// Currently, the command is a no-op if this is false, though eventually it
// may save crashes to output directories.
bool upload_crashes = 4;
// If set, upload crashes to http://crash-staging instead of http://crash.
// Useful for testing.
bool use_staging = 5 [deprecated = true];
}
// CrashSummary defines details of crashes that will be easily accessible to
// callers always.
message CrashSummary {
// Name of the crashing executable.
string exec_name = 1;
// If uploads were on, URL at which this crash can be found.
string upload_url = 2;
// Name of the integration test that was running when this crash happened, if
// any.
string in_progress_integration_test = 3;
// Crash signature (may not be populated for all crash types).
string sig = 4;
// Base part of crash filename in out dir. All files associated with the crash
// will start with this string.
// (e.g. chrome.20201202.130102.12345.4567)
string filename_base = 5;
}
// FetchCrashesResponse defines the output of `phosphorus fetch-crashes`.
message FetchCrashesResponse {
// Values should be consistent with https://aip.dev/216
enum State {
// Should not be used.
STATE_UNSPECIFIED = 0;
// FetchCrashes succeeded.
SUCCEEDED = 1;
// FetchCrashes failed.
FAILED = 2;
// FetchCrashes hit the requested timeout.
TIMED_OUT = 3;
// FetchCrashes was aborted externally.
ABORTED = 4;
}
// `phosphorus fetch-crashes` exits with exit code 0 unless there is an
// infrastructure failure. When the exit code is 0, `state` indicates the
// best known state of the prejob execution (see comments on State enum).
State state = 1;
// Details on the uploaded crashes.
repeated CrashSummary crashes = 2;
// Names of crashes that are present only in RTD output
repeated string crashes_rtd_only = 4;
// Names of crashes that are present only in FetchCrashes output
repeated string crashes_tls_only = 5;
}