| # Copyright 2018 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/components/fuchsia_test_component.gni") |
| import("//build/packages/sdk_fuchsia_package.gni") |
| import("//src/graphics/lib/magma/gnbuild/magma.gni") |
| |
| group("integration") { |
| testonly = true |
| |
| public_deps = [ |
| ":linux_x64", |
| ":magma_conformance_tests", |
| ":magma_conformance_tests_hermetic", |
| ] |
| } |
| |
| group("tests") { |
| testonly = true |
| deps = [ |
| ":magma-conformance-tests", |
| ":magma-conformance-tests-arm", |
| ":magma-conformance-tests-hermetic", |
| ":magma-conformance-tests-hermetic-arm", |
| ":magma-conformance-tests-hermetic-vsi", |
| ":magma-conformance-tests-vsi", |
| ] |
| } |
| |
| group("linux_x64") { |
| testonly = true |
| public_deps = [ |
| ":virtmagma_conformance_tests(//build/toolchain:linux_x64)", |
| ":virtmagma_no_cpp_test(//build/toolchain:linux_x64)", |
| ] |
| } |
| |
| fuchsia_component_manifest("conformance-manifest") { |
| component_name = "magma-conformance-tests" |
| manifest = "meta/magma-conformance-tests.cml" |
| } |
| |
| fuchsia_component_manifest("conformance_child_manifest") { |
| component_name = "magma_conformance_tests" |
| manifest = "meta/magma_conformance_tests_child.cml" |
| } |
| |
| fuchsia_component_manifest("conformance-hermetic-manifest") { |
| component_name = "magma-conformance-tests-hermetic" |
| manifest = "meta/magma-conformance-tests-hermetic.cml" |
| } |
| |
| fuchsia_component_manifest("conformance-config-manifest") { |
| component_name = "magma-conformance-tests-config" |
| manifest = "meta/magma-conformance-config.shard.cml" |
| } |
| |
| fuchsia_structured_config_cpp_elf_lib("conformance-config") { |
| cm_label = ":conformance-config-manifest" |
| } |
| |
| executable("magma_conformance_tests") { |
| sources = [ |
| "main.cc", |
| "test_magma.cc", |
| "test_magma_c.c", |
| "test_magma_fidl.cc", |
| ] |
| |
| deps = [ |
| ":conformance-config", |
| "//sdk/lib/magma_client:magma_headers", |
| "//src/graphics/drivers/msd-arm-mali/include", |
| "//src/graphics/drivers/msd-intel-gen/include", |
| "//src/graphics/lib/magma/src/libmagma", |
| "//src/graphics/magma/lib/magma_client/test_util:magma_map_cpu", |
| "//src/lib/fsl", |
| "//src/lib/fxl:fxl_cli", |
| "//src/lib/testing/loop_fixture", |
| "//third_party/googletest:gtest_no_testonly", |
| "//zircon/system/ulib/trace", |
| ] |
| |
| if (is_fuchsia) { |
| deps += [ |
| "//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_cpp", |
| "//sdk/fidl/fuchsia.logger:fuchsia.logger_cpp", |
| "//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_cpp", |
| "//sdk/fidl/fuchsia.tracing.provider:fuchsia.tracing.provider_cpp", |
| "//sdk/lib/fdio", |
| "//src/graphics/magma/lib/magma/platform:logger", |
| "//src/graphics/magma/lib/magma/platform:logger_provider_header", |
| "//src/graphics/magma/lib/magma/platform:trace_provider", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| ] |
| } |
| } |
| |
| executable("magma_conformance_tests_hermetic") { |
| testonly = true |
| |
| defines = [ "MAGMA_HERMETIC=1" ] |
| sources = [ |
| "main.cc", |
| "test_magma.cc", |
| "test_magma_c.c", |
| "test_magma_fidl.cc", |
| ] |
| |
| deps = [ |
| ":conformance-config", |
| "//sdk/lib/magma_client:magma_headers", |
| "//src/graphics/drivers/msd-arm-mali/include", |
| "//src/graphics/drivers/msd-intel-gen/include", |
| "//src/graphics/lib/magma/src/libmagma:magma_hermetic", |
| "//src/graphics/magma/lib/magma_client/test_util:magma_map_cpu", |
| "//src/lib/fsl", |
| "//src/lib/fxl:fxl_cli", |
| "//src/lib/testing/loop_fixture", |
| "//third_party/googletest:gtest", |
| ] |
| |
| if (is_fuchsia) { |
| deps += [ |
| "//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_cpp", |
| "//sdk/fidl/fuchsia.logger:fuchsia.logger_cpp", |
| "//sdk/fidl/fuchsia.tracing.provider:fuchsia.tracing.provider_cpp", |
| "//sdk/lib/fdio", |
| "//src/graphics/magma/lib/magma/platform:logger", |
| "//src/graphics/magma/lib/magma/platform:logger_provider_header", |
| "//src/graphics/magma/lib/magma/platform:trace_provider", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| ] |
| } |
| } |
| |
| executable("virtmagma_conformance_tests") { |
| testonly = true |
| |
| defines = [ "VIRTMAGMA=1" ] |
| |
| sources = [ |
| "main.cc", |
| "test_magma.cc", |
| "test_magma_c.c", |
| ] |
| |
| deps = [ |
| "//sdk/lib/magma_client:magma_headers", |
| "//src/graphics/drivers/msd-arm-mali/include", |
| "//src/graphics/drivers/msd-intel-gen/include", |
| "//src/graphics/lib/magma/src/libmagma_virt", |
| "//src/graphics/magma/lib/magma_client/test_util:magma_map_cpu", |
| "//src/lib/fxl:fxl_cli", |
| "//third_party/googletest:gtest", |
| ] |
| } |
| |
| executable("virtmagma_no_cpp_test") { |
| testonly = true |
| |
| # TODO(https://fxbug.dev/42170578) - use configs to set -no-stdlib++ in a way that doesn't |
| # conflict with -static-libstdc++. |
| ldflags = [ |
| "-nostdlib++", |
| "-Wno-unused-command-line-argument", |
| ] |
| |
| sources = [ |
| "main.c", |
| "test_magma_c.c", |
| ] |
| |
| deps = [ |
| "//sdk/lib/magma_client:magma_headers", |
| "//src/graphics/lib/magma/src/libmagma_virt", |
| ] |
| |
| disable_syslog_backend = true |
| |
| # Builds fail |
| exclude_toolchain_tags = [ "asan" ] |
| } |
| |
| executable("virtmagma_sync_file_tests") { |
| testonly = true |
| |
| defines = [ "VIRTMAGMA=1" ] |
| |
| sources = [ "test_magma_sync_file.cc" ] |
| |
| deps = [ |
| "//sdk/lib/magma_client:magma_headers", |
| "//src/graphics/lib/magma/src/libmagma_virt", |
| "//src/lib/fxl/test:gtest_main", |
| ] |
| include_dirs = [ |
| "//third_party/android/platform/bionic/libc/kernel/uapi", |
| "//third_party/android/platform/bionic/libc/kernel/android/uapi", |
| ] |
| } |
| |
| fuchsia_structured_config_values("default_config") { |
| cm_label = ":conformance-manifest" |
| values = { |
| gpu_vendor_id = "" |
| } |
| } |
| |
| fuchsia_structured_config_values("child_config") { |
| cm_label = ":conformance_child_manifest" |
| values = { |
| gpu_vendor_id = "" |
| } |
| } |
| |
| fuchsia_structured_config_values("arm_config") { |
| cm_label = ":conformance-manifest" |
| values = { |
| gpu_vendor_id = "0x13B5" |
| } |
| } |
| |
| fuchsia_structured_config_values("vsi_config") { |
| cm_label = ":conformance-manifest" |
| values = { |
| gpu_vendor_id = "0x10001" |
| } |
| } |
| |
| fuchsia_component("magma_conformance_tests_child_component") { |
| cm_label = ":conformance_child_manifest" |
| deps = [ ":magma_conformance_tests" ] |
| } |
| |
| fuchsia_test_component("magma-conformance-tests-component") { |
| cm_label = ":conformance-manifest" |
| deps = [ ":magma_conformance_tests" ] |
| test_type = "system" |
| } |
| |
| # Runs on any GPU if the only device present; if multiple |
| # GPUs are present the vendor must be specified. |
| fuchsia_test_package("magma-conformance-tests") { |
| test_components = [ ":magma-conformance-tests-component" ] |
| deps = [ ":default_config" ] |
| test_specs = { |
| environments = magma_intel_gpu_envs |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| validate_structured_config = false |
| } |
| |
| fuchsia_package("magma_conformance_tests_for_sdk") { |
| deps = [ |
| ":child_config", |
| ":magma_conformance_tests_child_component", |
| ] |
| validate_structured_config = false |
| } |
| |
| sdk_fuchsia_package("magma_conformance_tests_sdk") { |
| distribution_name = "magma_conformance_tests" |
| category = "partner" |
| package_label = ":magma_conformance_tests_for_sdk" |
| expected_files_exact = [ "meta/magma_conformance_tests.cm" ] |
| api_level_added = 16 |
| } |
| |
| fuchsia_test_package("magma-conformance-tests-vsi") { |
| test_components = [ ":magma-conformance-tests-component" ] |
| deps = [ ":vsi_config" ] |
| test_specs = { |
| environments = [ |
| sherlock_env, |
| vim3_env, |
| ] |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| validate_structured_config = false |
| } |
| |
| fuchsia_test_package("magma-conformance-tests-arm") { |
| test_components = [ ":magma-conformance-tests-component" ] |
| deps = [ ":arm_config" ] |
| test_specs = { |
| environments = magma_arm_gpu_envs |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| validate_structured_config = false |
| } |
| |
| fuchsia_test_component("magma-conformance-tests-hermetic-component") { |
| cm_label = ":conformance-hermetic-manifest" |
| deps = [ ":magma_conformance_tests_hermetic" ] |
| test_type = "system" |
| } |
| |
| fuchsia_structured_config_values("default_config_hermetic") { |
| cm_label = ":conformance-hermetic-manifest" |
| values = { |
| gpu_vendor_id = "" |
| } |
| } |
| |
| fuchsia_test_package("magma-conformance-tests-hermetic") { |
| test_components = [ ":magma-conformance-tests-hermetic-component" ] |
| deps = [ ":default_config_hermetic" ] |
| test_specs = { |
| environments = magma_intel_gpu_envs |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| validate_structured_config = false |
| } |
| |
| fuchsia_structured_config_values("arm_config_hermetic") { |
| cm_label = ":conformance-hermetic-manifest" |
| values = { |
| gpu_vendor_id = "0x13B5" |
| } |
| } |
| |
| fuchsia_structured_config_values("vsi_config_hermetic") { |
| cm_label = ":conformance-hermetic-manifest" |
| values = { |
| gpu_vendor_id = "0x10001" |
| } |
| } |
| |
| fuchsia_test_package("magma-conformance-tests-hermetic-arm") { |
| test_components = [ ":magma-conformance-tests-hermetic-component" ] |
| deps = [ ":arm_config_hermetic" ] |
| test_specs = { |
| environments = magma_arm_gpu_envs |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| validate_structured_config = false |
| } |
| |
| fuchsia_test_package("magma-conformance-tests-hermetic-vsi") { |
| test_components = [ ":magma-conformance-tests-hermetic-component" ] |
| deps = [ ":vsi_config_hermetic" ] |
| test_specs = { |
| environments = [ |
| sherlock_env, |
| vim3_env, |
| ] |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| validate_structured_config = false |
| } |