| // Copyright 2019 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; |
| |
| option go_package = "go.chromium.org/chromiumos/infra/proto/go/testplans"; |
| |
| import "testplans/common.proto"; |
| |
| // A list of test groups. |
| message TestGroups { repeated string name = 1; } |
| |
| // A description of how to remove test suites from the default set of test |
| // suites in ChromeOS CQ, as a result of source configuration. |
| // See http://go/cq-source-config |
| message SubtractiveRule { |
| // Whether to disable hardware test suites. |
| bool disable_hw_tests = 1; |
| // Whether to disable virtual machine test suites. |
| bool disable_vm_tests = 2; |
| // Prunes away all default suites except those in the provided test groups. |
| // e.g. setting this to "bluetooth" will have CQ run only those test suites |
| // in the "bluetooth" test group. |
| TestGroups only_keep_all_suites_in_groups = 3; |
| // Prunes away all default suites except one in each provided test group. |
| // e.g. can be used to ensure a test suite is launched on each of the |
| // supported ChromeOS processor architectures. |
| TestGroups only_keep_one_suite_from_each_group = 4; |
| } |
| |
| // A descriptive of how to add extra test suites to a CQ run based on source |
| // configuration. An AdditiveRule will trigger so long as any file matches the |
| // relevant source pattern. AdditiveRules combine as a union of additional test |
| // suites to run. disable_by_default=True test suites are particularly relevant |
| // to AdditiveRules, since AdditiveRules are the only thing that will include |
| // them. |
| message AdditiveRule { |
| // Adds on all test suites in the provided groups, even if they have |
| // disable_by_default=True. |
| // e.g. could be used to trigger wificell testing (which is expensive) based |
| // on the presence of files in wifi-related directories. |
| TestGroups add_all_suites_in_groups = 1; |
| // Adds on one test suite from each of the provided groups, even if that suite |
| // has disable_by_default=True. |
| // e.g. could be used to trigger wificell testing (which is expensive) on one |
| // board in each ChromeOS processor architecture. |
| TestGroups add_one_suite_from_each_group = 2; |
| } |
| |
| // A set of test subtractions and additions to perform for a source tree. |
| // See http://go/cq-source-config for documentation. |
| message SourceTestRules { |
| // A file pattern, representing a segment of ChromeOS code. |
| FilePattern file_pattern = 1; |
| |
| // A subtractive rule to apply to this file pattern. See the relevant message |
| // documentation. |
| SubtractiveRule subtractive_rule = 2; |
| |
| // An additive rule to apply to this file pattern. See the relevant message |
| // documentation. |
| AdditiveRule additive_rule = 3; |
| } |
| |
| // Configures test restrictions for all relevant source trees. |
| // This is the root message. |
| message SourceTreeTestCfg { |
| // Rules for how to test changes to specified source trees in the codebase. |
| repeated SourceTestRules source_test_rules = 2; |
| |
| reserved 1; |
| } |