blob: d815bd3698bc0b27ca301757322ec1bb0b8253e9 [file] [log] [blame]
// Copyright 2020 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package testplans;
import "test_platform/taskstate.proto";
option go_package = "go.chromium.org/chromiumos/infra/proto/go/testplans";
// Defines a config for tests to be retried automatically.
message SuiteRetryCfg {
// Tag defines which suite this config set should apply.
string test_suite = 1;
// Scenario defines the test failure conditions that trigger retry.
message Scenario {
// Name of the test.
string test_name = 1;
// Failure reason/summary. This field is a substring of the actual error
// message. Ex: 'SSH connection failed' or 'DUT rebooted'.
string reason = 2;
// Verdict of the test run.
test_platform.TaskState.Verdict verdict = 3;
// Should the DUT/VM restart before retry?
bool requires_restart = 4;
}
// Scenarios to retry for each build_target.
repeated Scenario suite_scenarios = 3;
message BuilderScenario {
// Tag defines which builders this config set should apply.
repeated string builders = 1;
repeated Scenario scenarios = 2;
}
repeated BuilderScenario builder_scenarios = 4;
// Reason scenario defines test failure conditions irrespective of which test.
message ReasonScenario {
// Failures reason.
string reason = 1;
// Verdict of the test run.
test_platform.TaskState.Verdict verdict = 2;
// Should the DUT/VM restart before retry?
bool requires_restart = 3;
}
// ReasonScenarios to retry for the suite.
repeated ReasonScenario reason_scenarios = 5;
}