crosvm/run_tests
Dennis Kempin ab0ad4caa0 Move virglrenderer/minigbm build into build.rs
Both libraries have previously been built as part of
ci/build_environment/Makefile. This CL moves that behavior into the
build.rs file of rutabaga_gfx.

This is the last third party dependency that we need to build from
source, and allows us to build/test on the host machine instead of
requiring the builder container.

It also allows us to greatly simplify the builder containers, which
I will do in a follow-up CL as we also need to upgrade them to bullseye.

This CL uprevs virglrenderer to include:
https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/609

and minigbm to include: https://crrev.com/c/3141018

BUG=b:196059146
TEST=./test_all && ./run_tests --run-privileged

Change-Id: I4442ccc991d13a3fcfa224de50e916b3926f0cb4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3141771
Commit-Queue: Dennis Kempin <denniskempin@google.com>
Tested-by: Dennis Kempin <denniskempin@google.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
2021-09-09 23:13:24 +00:00

94 lines
2.9 KiB
Python
Executable file

#!/usr/bin/env python3
# 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.
#
# Runs tests for crosvm.
#
# See `ci/README.md` or `./run_tests -h` for more details.
from typing import List, Dict
from ci.test_runner import Requirements, main
# A list of all crates and their requirements
# See ci/test_runner.py for documentation on the requirements
CRATE_REQUIREMENTS: Dict[str, List[Requirements]] = {
"aarch64": [Requirements.AARCH64],
"acpi_tables": [],
"arch": [],
"assertions": [],
"base": [],
"bit_field": [],
"bit_field_derive": [],
"common/cros-fuzz": [Requirements.SEPARATE_WORKSPACE],
"common/p9": [Requirements.SEPARATE_WORKSPACE, Requirements.X86_64],
"cros_async": [Requirements.DISABLED],
"crosvm": [Requirements.DO_NOT_RUN],
"crosvm_plugin": [Requirements.X86_64],
"data_model": [],
"devices": [
Requirements.SINGLE_THREADED,
Requirements.PRIVILEGED,
Requirements.X86_64,
],
"disk": [Requirements.PRIVILEGED],
"enumn": [],
"fuse": [],
"fuzz": [Requirements.DISABLED],
"gpu_display": [],
"hypervisor": [Requirements.PRIVILEGED, Requirements.X86_64],
"integration_tests": [Requirements.PRIVILEGED, Requirements.X86_64],
"io_uring": [
Requirements.SEPARATE_WORKSPACE,
Requirements.PRIVILEGED,
Requirements.SINGLE_THREADED,
],
"kernel_cmdline": [],
"kernel_loader": [Requirements.PRIVILEGED],
"kvm_sys": [Requirements.PRIVILEGED],
"kvm": [Requirements.PRIVILEGED, Requirements.X86_64],
"libcrosvm_control": [],
"linux_input_sys": [],
"net_sys": [],
"net_util": [Requirements.PRIVILEGED],
"power_monitor": [],
"protos": [],
"qcow_utils": [],
"resources": [],
"rutabaga_gfx": [Requirements.PRIVILEGED],
"sync": [],
"sys_util": [Requirements.SINGLE_THREADED, Requirements.PRIVILEGED],
"poll_token_derive": [],
"tempfile": [],
"tpm2-sys": [],
"tpm2": [],
"usb_sys": [],
"usb_util": [],
"vfio_sys": [],
"vhost": [Requirements.PRIVILEGED],
"virtio_sys": [],
"vm_control": [],
"vm_memory": [Requirements.PRIVILEGED],
"x86_64": [Requirements.X86_64, Requirements.PRIVILEGED],
}
# Just like for crates, lists requirements for each cargo feature flag.
FEATURE_REQUIREMENTS: Dict[str, List[Requirements]] = {
"chromeos": [Requirements.DISABLED],
"audio": [],
"gpu": [],
"plugin": [Requirements.PRIVILEGED, Requirements.X86_64],
"power-monitor-powerd": [Requirements.DISABLED],
"tpm": [],
"video-decoder": [Requirements.DISABLED],
"video-encoder": [Requirements.DISABLED],
"wl-dmabuf": [Requirements.DISABLED],
"x": [],
"virgl_renderer_next": [],
"composite-disk": [],
"virgl_renderer": [],
"gfxstream": [Requirements.DISABLED],
"gdb": [],
}
main(CRATE_REQUIREMENTS, FEATURE_REQUIREMENTS)