xref: /aosp_15_r20/external/crosvm/tools/impl/test_config.py (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker# Copyright 2021 The ChromiumOS Authors
2*bb4ee6a4SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*bb4ee6a4SAndroid Build Coastguard Worker# found in the LICENSE file.
4*bb4ee6a4SAndroid Build Coastguard Worker
5*bb4ee6a4SAndroid Build Coastguard Workerimport os
6*bb4ee6a4SAndroid Build Coastguard Workerfrom typing import Dict
7*bb4ee6a4SAndroid Build Coastguard Worker
8*bb4ee6a4SAndroid Build Coastguard WorkerBUILD_FEATURES: Dict[str, str] = {
9*bb4ee6a4SAndroid Build Coastguard Worker    "x86_64-unknown-linux-gnu": "linux-x86_64",
10*bb4ee6a4SAndroid Build Coastguard Worker    "aarch64-unknown-linux-gnu": "linux-aarch64",
11*bb4ee6a4SAndroid Build Coastguard Worker    "armv7-unknown-linux-gnueabihf": "linux-armhf",
12*bb4ee6a4SAndroid Build Coastguard Worker    "x86_64-pc-windows-gnu": "win64",
13*bb4ee6a4SAndroid Build Coastguard Worker    "x86_64-pc-windows-msvc": "win64",
14*bb4ee6a4SAndroid Build Coastguard Worker}
15*bb4ee6a4SAndroid Build Coastguard Worker
16*bb4ee6a4SAndroid Build Coastguard Worker# Do not build these on riscv64. They don't yet have riscv64 support of the backing libraries in the
17*bb4ee6a4SAndroid Build Coastguard Worker# dev container.
18*bb4ee6a4SAndroid Build Coastguard WorkerDO_NOT_BUILD_RISCV64 = [
19*bb4ee6a4SAndroid Build Coastguard Worker    "libvda",
20*bb4ee6a4SAndroid Build Coastguard Worker    "libva",
21*bb4ee6a4SAndroid Build Coastguard Worker    "ffmpeg",
22*bb4ee6a4SAndroid Build Coastguard Worker    "vmm_vhost",
23*bb4ee6a4SAndroid Build Coastguard Worker    "system_api",
24*bb4ee6a4SAndroid Build Coastguard Worker    "gpu_display",
25*bb4ee6a4SAndroid Build Coastguard Worker]
26*bb4ee6a4SAndroid Build Coastguard Worker
27*bb4ee6a4SAndroid Build Coastguard Worker# Configuration of integration tests
28*bb4ee6a4SAndroid Build Coastguard Worker#
29*bb4ee6a4SAndroid Build Coastguard Worker# The configuration below only applies to integration tests to fine tune which tests can be run
30*bb4ee6a4SAndroid Build Coastguard Worker# on which platform (e.g. aarch64 emulation does not pass kvm tests).
31*bb4ee6a4SAndroid Build Coastguard Worker#
32*bb4ee6a4SAndroid Build Coastguard Worker# This configuration does NOT apply to unit tests.
33*bb4ee6a4SAndroid Build Coastguard Worker
34*bb4ee6a4SAndroid Build Coastguard Worker# List of integration tests that will ask for root privileges.
35*bb4ee6a4SAndroid Build Coastguard WorkerROOT_TESTS = [
36*bb4ee6a4SAndroid Build Coastguard Worker    "package(e2e_tests) & binary(pci_hotplug)",
37*bb4ee6a4SAndroid Build Coastguard Worker    "package(e2e_tests) & binary(swap)",
38*bb4ee6a4SAndroid Build Coastguard Worker    "package(net_util) & binary(unix_tap)",
39*bb4ee6a4SAndroid Build Coastguard Worker    "package(cros_tracing) & binary(trace_marker)",
40*bb4ee6a4SAndroid Build Coastguard Worker    "package(swap) & binary(page_handler)",
41*bb4ee6a4SAndroid Build Coastguard Worker    "package(swap) & binary(main)",
42*bb4ee6a4SAndroid Build Coastguard Worker]
43*bb4ee6a4SAndroid Build Coastguard Worker
44*bb4ee6a4SAndroid Build Coastguard Worker# Do not run these tests on any platform.
45*bb4ee6a4SAndroid Build Coastguard WorkerDO_NOT_RUN = [
46*bb4ee6a4SAndroid Build Coastguard Worker    "package(io_uring)",
47*bb4ee6a4SAndroid Build Coastguard Worker]
48*bb4ee6a4SAndroid Build Coastguard Worker
49*bb4ee6a4SAndroid Build Coastguard Worker# Do not run these tests for aarch64 builds
50*bb4ee6a4SAndroid Build Coastguard WorkerDO_NOT_RUN_AARCH64 = [
51*bb4ee6a4SAndroid Build Coastguard Worker    "package(hypervisor)",
52*bb4ee6a4SAndroid Build Coastguard Worker    "package(e2e_tests)",
53*bb4ee6a4SAndroid Build Coastguard Worker    "package(kvm)",
54*bb4ee6a4SAndroid Build Coastguard Worker]
55*bb4ee6a4SAndroid Build Coastguard Worker
56*bb4ee6a4SAndroid Build Coastguard Worker# Do not run these tests for win64 builds
57*bb4ee6a4SAndroid Build Coastguard WorkerDO_NOT_RUN_WIN64 = [
58*bb4ee6a4SAndroid Build Coastguard Worker    "package(e2e_tests)",
59*bb4ee6a4SAndroid Build Coastguard Worker]
60*bb4ee6a4SAndroid Build Coastguard Worker
61*bb4ee6a4SAndroid Build Coastguard Worker# Do not run these tests for win64 build on linux with wine64 runner.
62*bb4ee6a4SAndroid Build Coastguard WorkerDO_NOT_RUN_WINE64 = [
63*bb4ee6a4SAndroid Build Coastguard Worker    "package(crosvm) and test(sigterm_signals_exit_event)",
64*bb4ee6a4SAndroid Build Coastguard Worker    "package(crosvm) and test(test_forwarding_loops)",
65*bb4ee6a4SAndroid Build Coastguard Worker    "package(base) and test(get_allocated_ranges_for_empty_file)",
66*bb4ee6a4SAndroid Build Coastguard Worker    "package(base) and test(get_allocated_ranges_for_fully_allocated_file)",
67*bb4ee6a4SAndroid Build Coastguard Worker    "package(base) and test(get_allocated_ranges_for_file_with_one_hole)",
68*bb4ee6a4SAndroid Build Coastguard Worker    "package(base) and test(get_allocated_ranges_for_file_with_many_hole)",
69*bb4ee6a4SAndroid Build Coastguard Worker    "package(gpu_display) & test(can_create_2_window_proc_threads)",
70*bb4ee6a4SAndroid Build Coastguard Worker    "package(gpu_display) & test(user_event_handler_can_call_into_wndproc)",
71*bb4ee6a4SAndroid Build Coastguard Worker]
72*bb4ee6a4SAndroid Build Coastguard Worker
73*bb4ee6a4SAndroid Build Coastguard Worker# Avoid e2e tests and benchmarks to be automatically included as unit tests
74*bb4ee6a4SAndroid Build Coastguard WorkerE2E_TESTS = [
75*bb4ee6a4SAndroid Build Coastguard Worker    "package(e2e_tests)",
76*bb4ee6a4SAndroid Build Coastguard Worker]
77