|  | # 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_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:vkcube-on-fb", | 
|  | "//src/graphics/examples/vkcube: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" | 
|  | environments = basic_envs | 
|  | }, | 
|  | ] | 
|  | } | 
|  |  | 
|  | # 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 | 
|  | }, | 
|  | ] | 
|  | } |