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