blob: 75ea058f160caa772693287958f0ac11d9068f89 [file] [log] [blame]
import enum
class TestOption(enum.Enum):
# Build and run tests on aarch64 or arm32 only
BUILD_ARM_ONLY = "build_arm_only"
# Build and run tests on x86_64 only
BUILD_X86_ONLY = "build_x86_only"
# Do not build nor run tests
DO_NOT_BUILD = "do_not_build"
# Build but do not run tests
DO_NOT_RUN = "do_not_run"
# Build for all platforms, but only run on arm
RUN_ARM_ONLY = "run_arm_only"
# Build for all platforms, but only run on x86
RUN_X86_ONLY = "run_x86_only"
# Run tests single-threaded
SINGLE_THREADED = "single_threaded"
# Configuration to restrict how and where tests of a certain crate can
# be build and run.
#
# Please add a bug number when restricting a tests.
CRATE_OPTIONS: dict[str, list[TestOption]] = {
"aarch64": [TestOption.BUILD_ARM_ONLY],
"enumn": [TestOption.RUN_X86_ONLY], # b/203100960
"cros_async": [TestOption.DO_NOT_BUILD], # b/202293468
"crosvm_plugin": [TestOption.BUILD_X86_ONLY],
"devices": [TestOption.SINGLE_THREADED],
"disk": [TestOption.RUN_X86_ONLY], # b/202294155
"crosvm-fuzz": [TestOption.DO_NOT_BUILD], # b/194499769
"hypervisor": [TestOption.RUN_X86_ONLY], # b/181672912
"integration_tests": [
TestOption.SINGLE_THREADED,
TestOption.RUN_X86_ONLY, # b/180196508
],
"io_uring": [TestOption.DO_NOT_BUILD], # b/202294403
"kvm": [TestOption.RUN_X86_ONLY], # b/181674144
"libcras_stub": [TestOption.DO_NOT_BUILD], # empty stub crate
"libvda": [TestOption.DO_NOT_BUILD], # b/202293971
"system_api_stub": [TestOption.DO_NOT_BUILD], # empty stub crate
"x86_64": [TestOption.BUILD_X86_ONLY],
"sys_util": [TestOption.SINGLE_THREADED],
}