// 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 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;
}
