blob: ec731299007ed29e2c41c128a5448d434fd7c744 [file] [log] [blame]
// Copyright 2019 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;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/testplans";
import "testplans/common.proto";
// Testing restrictions to apply to a source tree.
message TestRestriction {
// Whether to disable hardware test suites.
bool disable_hw_tests = 1;
// Whether to disable virtual machine test suites.
bool disable_vm_tests = 3;
// Whether to disable non-Tast-based test suites.
bool disable_non_tast_tests = 5;
message OnlyTestBuilder {
string builder_name = 1;
}
// A subset of CQ builders for which testing should be performed.
// If this is nonempty, hw/vm tests will *only* be done for the provided
// list of build targets.
// SOON TO BE DEPRECATED: this concept will be replaced with CqTestWhen
// rules, as below.
repeated OnlyTestBuilder cq_only_test_builders = 6;
oneof CqTestWhen {
// Indicates a set of test suites to run, to the exclusion of all others.
// This is a key into target_test_requirements.
string cq_only_test_group = 7;
// Indicates a set of test suites that should also be run, especially
// if they're suites that wouldn't be run by default.
// This is a key into target_test_requirements.
string cq_also_test_group = 8;
}
reserved 4;
}
// A set of test restrictions for a source tree.
message SourceTreeTestRestriction {
// A file pattern, representing a segment of Chrome OS code.
FilePattern file_pattern = 3;
// The test restrictions to apply to the source tree.
TestRestriction test_restriction = 2;
reserved 1;
}
// Configures test restrictions for all relevant source trees.
// This is the root message.
message SourceTreeTestCfg {
// (Source tree, test restriction) pairs.
repeated SourceTreeTestRestriction source_tree_test_restriction = 1;
}