#!/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)
