blob: 944985a7b384c3c60a50ea2742fedef265d2d284 [file] [log] [blame] [edit]
# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/package.gni")
import("//build/test/test_package.gni")
import("//build/testing/environments.gni")
import("//src/graphics/lib/magma/gnbuild/magma.gni")
group("tests") {
testonly = true
public_deps = [
":magma-abi-conformance-tests",
":magma-abi-conformance-tests-arm",
":magma-abi-conformance-tests-vsi",
":magma_info_test",
":magma_nonhardware_tests",
"codegen",
"icd_strip",
]
# Add driver dependencies:
public_deps += [
"//garnet/packages/prod:vulkan",
"//src/graphics/drivers/msd-img-rgx/tests/integration:msd-img-rgx-no-hardware-integration-tests",
"//src/graphics/drivers/msd-img-rgx/tests/integration:msd_img_rgx_integration_tests",
"//src/graphics/drivers/msd-img-rgx/tests/unit_tests:msd_img_rgx_nonhardware_tests",
"//src/graphics/drivers/msd-vsi-vip/tests/integration",
"//src/graphics/drivers/msd-vsi-vip/tests/unit_tests:msd-vsi-vip-nonhardware-tests",
"//src/graphics/lib/magma/gnbuild/magma-arm-mali:msd-arm-mali-integration-tests",
"//src/graphics/lib/magma/gnbuild/magma-arm-mali:msd_arm_mali_nonhardware_tests",
]
if (target_cpu == "x64") {
public_deps += [
"//src/graphics/lib/magma/gnbuild/magma-intel-gen:magma_intel_gen_integration_tests",
"//src/graphics/lib/magma/gnbuild/magma-intel-gen:magma_intel_gen_nonhardware_tests",
]
}
# Ensure the test MSDs are built even when not deployed
public_deps += [
"//src/graphics/drivers/msd-arm-mali:msd_arm_test",
"//src/graphics/drivers/msd-img-rgx/no_hardware:msd_img_rgx_no_hardware",
"//src/graphics/drivers/msd-intel-gen:msd_intel_test",
"//src/graphics/drivers/msd-vsi-vip:msd_vsi_test",
]
}
# This group must only be referenced from a *_system_image_deps arg, since it contains drivers that
# go into the system image.
group("test-drivers") {
testonly = true
deps = [
"//src/graphics/lib/magma/gnbuild/magma-arm-mali:test-driver",
"//src/graphics/lib/magma/gnbuild/magma-vsi-vip:test-driver",
]
}
# Tests that require a working libvulkan to run.
group("vulkan-tests") {
testonly = true
public_deps = [
# We also need run-test-component to run these tests.
"//garnet/packages/testing:run_test_component",
"//src/graphics/tests:vulkan-tests",
]
}
# Packages needed for L0 from //doc/the-book/magma/contributing.md
group("l0") {
testonly = true
deps = [
":tests",
":vulkan-tests",
]
}
# Packages needed for L1
group("l1") {
testonly = true
deps = [
":l0",
"//garnet/packages/prod:scenic",
"//src/graphics/examples:vkcube-on-fb",
"//src/graphics/examples:vkcube-on-scenic",
"//src/graphics/lib/magma/src/tools",
"//src/lib/vulkan/tests:image-pipe-swapchain-tests",
]
}
test_package("magma_nonhardware_tests") {
deps = [ "unit_tests" ]
tests = [
{
name = "magma_unit_tests"
},
]
}
# Runs on any GPU if the only device present; if multiple
# GPUs are present the vendor must be specified.
test_package("magma-abi-conformance-tests") {
deps = [ "integration" ]
tests = [
{
name = "magma_abi_conformance_tests"
manifest = "meta/magma-abi-conformance-tests.cmx"
environments = magma_hardware_envs - [ arm_gpu_envs ]
},
]
}
# Runs only on ARM devices
test_package("magma-abi-conformance-tests-arm") {
deps = [ "integration" ]
tests = [
{
name = "magma_abi_conformance_tests"
manifest = "meta/magma-abi-conformance-tests-arm.cmx"
environments = arm_gpu_envs
},
]
}
# Runs only on VSI devices
test_package("magma-abi-conformance-tests-vsi") {
deps = [ "integration" ]
tests = [
{
name = "magma_abi_conformance_tests"
manifest = "meta/magma-abi-conformance-tests-vsi.cmx"
environments = [ sherlock_env ]
},
]
}
# Run magma_info as a test to make sure it doesn't crash.
test_package("magma_info_test") {
deps = [ "//src/graphics/lib/magma/src/tools:magma_info" ]
tests = [
{
name = "magma_info"
dest = "magma_info_test"
environments = magma_hardware_envs
},
]
}