mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-06 10:32:10 +00:00
278849cbe1
Tests can now be marked as large to increase the timeout from it's original 60s to 120s. The test runner is also updated to detect if the test is running in an emulated environment, and doubles the timeout for those. BUG=b:218681921 TEST=./tools/presubmit --all Change-Id: I95fc238dcd23a5035826f422752eaf0ca215706c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3469496 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Anton Romanov <romanton@google.com> Commit-Queue: Dennis Kempin <denniskempin@google.com>
79 lines
3.1 KiB
Python
Executable file
79 lines
3.1 KiB
Python
Executable file
# Copyright 2021 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.
|
|
|
|
import enum
|
|
|
|
|
|
class TestOption(enum.Enum):
|
|
# Do not build tests for all, or just some platforms.
|
|
DO_NOT_BUILD = "do_not_build"
|
|
DO_NOT_BUILD_AARCH64 = "do_not_build_aarch64"
|
|
DO_NOT_BUILD_ARMHF = "do_not_build_armhf"
|
|
DO_NOT_BUILD_X86_64 = "do_not_build_x86_64"
|
|
|
|
# Build tests, but do not run for all, or just some platforms.
|
|
DO_NOT_RUN = "do_not_run"
|
|
DO_NOT_RUN_ARMHF = "do_not_run_armhf"
|
|
DO_NOT_RUN_AARCH64 = "do_not_run_aarch64"
|
|
DO_NOT_RUN_X86_64 = "do_not_run_x86_64"
|
|
|
|
# Do not run on foreign architecture kernel (e.g. running armhf on aarch64
|
|
# or running aarch64 on the host with user-space emulation)
|
|
# This option is expected on tests that use kernel APIs not supported in
|
|
# user space emulation or in armhf compatibility mode (most notably
|
|
# /dev/kvm usage)
|
|
DO_NOT_RUN_ON_FOREIGN_KERNEL = "do_not_run_on_foreign_kernel"
|
|
|
|
# Run tests single-threaded
|
|
SINGLE_THREADED = "single_threaded"
|
|
|
|
# This test needs longer than usual to run.
|
|
LARGE = "large"
|
|
|
|
|
|
# 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.DO_NOT_BUILD_X86_64, TestOption.DO_NOT_BUILD_ARMHF], # b/210015864
|
|
"cros_async": [TestOption.LARGE],
|
|
"crosvm_plugin": [TestOption.DO_NOT_BUILD_AARCH64, TestOption.DO_NOT_BUILD_ARMHF],
|
|
"devices": [
|
|
TestOption.SINGLE_THREADED,
|
|
TestOption.LARGE,
|
|
TestOption.DO_NOT_RUN_ON_FOREIGN_KERNEL,
|
|
],
|
|
"disk": [TestOption.DO_NOT_RUN_AARCH64, TestOption.DO_NOT_RUN_ARMHF], # b/202294155
|
|
"crosvm-fuzz": [TestOption.DO_NOT_BUILD], # b/194499769
|
|
"hypervisor": [
|
|
TestOption.DO_NOT_RUN_AARCH64,
|
|
TestOption.DO_NOT_RUN_ON_FOREIGN_KERNEL,
|
|
], # b/181672912
|
|
"integration_tests": [ # b/180196508
|
|
TestOption.SINGLE_THREADED,
|
|
TestOption.LARGE,
|
|
TestOption.DO_NOT_RUN_AARCH64,
|
|
TestOption.DO_NOT_RUN_ON_FOREIGN_KERNEL,
|
|
],
|
|
"io_uring": [TestOption.DO_NOT_RUN], # b/202294403
|
|
"kvm_sys": [TestOption.DO_NOT_RUN_ON_FOREIGN_KERNEL],
|
|
"kvm": [TestOption.DO_NOT_RUN_AARCH64, TestOption.DO_NOT_RUN_ON_FOREIGN_KERNEL], # 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.DO_NOT_BUILD_AARCH64, TestOption.DO_NOT_BUILD_ARMHF],
|
|
"sys_util": [TestOption.SINGLE_THREADED],
|
|
"sys_util_core": [TestOption.SINGLE_THREADED],
|
|
"rutabaga_gfx": [TestOption.DO_NOT_BUILD_ARMHF], # b/210015864
|
|
"vhost": [TestOption.DO_NOT_RUN_ON_FOREIGN_KERNEL],
|
|
"vm_control": [TestOption.DO_NOT_BUILD_ARMHF], # b/210015864
|
|
"libcrosvm_control": [TestOption.DO_NOT_BUILD_ARMHF], # b/210015864
|
|
}
|
|
|
|
BUILD_FEATURES: dict[str, str] = {
|
|
"x86_64": "all-linux",
|
|
"aarch64": "all-linux",
|
|
"armhf": "all-linux-armhf",
|
|
}
|