blob: b73994a5d801525a08b7e8490935a46465c24a38 [file] [log] [blame]
{
"tests": true,
"features": [
"android-sparse",
"audio",
"balloon",
// TODO: The "protos" crate has been modified such that it doesn't work with cargo. If we fix that,
// we can remove a some patch files and enable "composite-disk" here.
// "composite-disk",
"gdb",
"geniezone",
"gunyah",
"qcow",
"usb",
// TODO: Enable these in the root crate instead. May be difficult because of host-vs-device
// difference that are handled in patches in, e.g., the "devices" crate.
"rutabaga_gfx/virgl_renderer",
"rutabaga_gfx/virgl_renderer_next"
],
"workspace": true,
"workspace_excludes": [
"audio_streams_conformance_test",
"baremetal",
"catapult_converter",
"cros_asyncv2",
"cros_fuzz",
"crosvm-fuzz",
"crosvm_plugin",
"e2e_tests",
"ffmpeg",
"fixture",
"gpu_buffer",
"libva",
"libvda",
"p9-fuzz",
"prebuilts",
"proto_build_tools",
"qcow_utils",
"rutabaga_gfx_ffi",
"sandbox",
"swap",
"system_api",
"tpm2",
"tpm2-sys",
"tube_transporter",
"win_audio",
"win_util"
],
"global_defaults": "crosvm_inner_defaults",
"apex_available": [],
"module_name_overrides": {
"libbase": "libbase_rust",
"libbase64": "libbase64_rust",
"libfuse": "libfuse_rust",
"liblog": "liblog_rust",
"libminijail": "libminijail_rust",
"libprotobuf": "libprotobuf_deprecated",
"libsync": "libsync_rust",
"libx86_64": "libx86_64_rust"
},
"module_blocklist": [
// TODO: These are all for workspace_excludes package. Maybe use the option to
// also block all blueprint modules for excluded packages.
"liblibva",
"libprebuilts",
"libproto_build_tools",
"libva_test_src_lib",
"proto_build_tools_test_src_lib",
// Flaky with ENOMEM. We don't use io_uring yet, so turning it off for now.
"io_uring_test_tests_uring",
// These are all tests that cargo2android.py ignored, probably because the
// `cargo test` run reported 0 tests.
// TODO: replicate the empty test detection if this list is annoying to maintain.
"aarch64_test_src_lib",
"anti_tamper_test_src_lib",
"argh_helpers_test_src_lib",
"balloon_control_test_src_lib",
"bit_field_derive_test_bit_field_derive",
"bit_field_test_src_lib",
"broker_ipc_test_src_lib",
"crash_report_test_src_lib",
"cros_tracing_test_src_lib",
"crosvm_cli_test_src_lib",
"crosvm_control_test_src_lib",
"crosvm_test_tests_plugins",
"gpu_display_test_examples_simple",
"gpu_display_test_examples_simple_open",
"gpu_display_test_src_lib",
"hypervisor_test_src_lib",
"hypervisor_test_tests_mmio_fetch_memory",
"io_uring_test_src_lib",
"kvm_sys_test_src_lib",
"kvm_test_src_lib",
"libcras_test_src_libcras",
"linux_input_sys_test_src_lib",
"metrics_test_src_lib",
"net_sys_test_src_lib",
"power_monitor_test_src_lib",
"prebuilts_test_src_lib",
"protos_test_src_lib",
"serde_keyvalue_derive_test_src_lib",
"sync_test_src_lib",
"usb_sys_test_src_lib",
"vfio_sys_test_src_lib",
"vhost_test_src_lib",
"virtio_sys_test_src_lib",
"wire_format_derive_test_wire_format_derive"
],
"module_visibility": {
"crosvm": [
"//visibility:public"
],
"libaarch64": [
// For QCOM's crosvm fork.
"//vendor:__subpackages__"
],
"libbase_rust": [
"//packages/modules/Virtualization/virtualizationmanager",
// For QCOM's crosvm fork.
"//vendor:__subpackages__"
],
"libdata_model": [
"//external/libchromeos-rs",
"//packages/modules/Virtualization/apkdmverity",
"//packages/modules/Virtualization/libs/devicemapper"
],
"libdevices": [
// For QCOM's crosvm fork.
"//vendor:__subpackages__"
],
"libdisk": [
"//packages/modules/Virtualization/virtualizationmanager",
// For QCOM's crosvm fork.
"//vendor:__subpackages__"
],
"libfuse_rust": [
"//packages/modules/Virtualization/authfs",
"//packages/modules/Virtualization/zipfuse"
],
"libhypervisor": [
// For QCOM's crosvm fork.
"//vendor:__subpackages__"
],
"libsync_rust": [
// For QCOM's crosvm fork.
"//vendor:__subpackages__"
],
"libvm_control": [
"//packages/modules/Virtualization/virtualizationmanager"
],
"libvm_memory": [
// For QCOM's crosvm fork.
"//vendor:__subpackages__"
]
},
"package": {
"aarch64": {
"add_module_block": "aarch64/cargo2android_arch.bp"
},
"base": {
"patch": "base/patches/Android.bp.patch",
"dep_blocklist": [
// "libtest_mimic" is needed for "base_test_tests_process" which is
// currently ignored by cargo_embargo because it is a "harness-less"
// test. cargo_embargo incorrectly thinks the dependency is needed for
// other tests in the "process" package, so we need to manually block
// it here.
"liblibtest_mimic"
]
},
"base_event_token_derive": {
// TODO: This is a proc macro crate. Should disable device tests by default for them.
"device_supported": false
},
"cros_async": {
"no_presubmit": true
},
"crosvm": {
"no_presubmit": true,
"add_toplevel_block": "cargo2android_defaults.bp",
"add_module_block": "cargo2android_module.bp.patch",
// Keep cargo2android from adding ISA specific deps so that we can add them
// correctly via patches.
"dep_blocklist": [
"libx86_64_rust",
"libaarch64_rust"
],
"patch": "patches/Android.bp.patch"
},
"crosvm_control": {
"patch": "crosvm_control/cargo2android.bp.patch"
},
"devices": {
"no_presubmit": true,
"add_module_block": "devices/cargo2android_libs.bp.patch",
"dep_blocklist": [
// See the comment for base's "dep_blocklist" above (in this case
// "devices_test_tests_passthroughfs_main" is the culprit).
"liblibtest_mimic"
]
},
"disk": {
"patch": "disk/patches/Android.bp.patch"
},
"gpu_display": {
"add_toplevel_block": "gpu_display/cargo2android.bp",
"patch": "gpu_display/patches/Android.bp.patch"
},
"hypervisor": {
"no_presubmit": true
},
"io_uring": {
"no_presubmit": true
},
"kvm": {
"no_presubmit": true
},
"kvm_sys": {
"no_presubmit": true
},
"metrics": {
"copy_out": true
},
"net_util": {
"no_presubmit": true
},
"power_monitor": {
"copy_out": true
},
"protos": {
"add_toplevel_block": "protos/cargo2android_protobuf.bp",
"patch": "protos/patches/Android.bp.patch"
},
"rutabaga_gfx": {
"patch": "rutabaga_gfx/patches/Android.bp.patch"
},
"vhost": {
"no_presubmit": true
},
"vm_control": {
"add_module_block": "vm_control/cargo2android.bp.patch"
},
"x86_64": {
"no_presubmit": true,
"add_module_block": "x86_64/cargo2android_gdb.bp.patch"
}
}
}