blob: 253b9f1e53956e5fc4e9bc7d79e55b5bd94afd56 [file] [log] [blame]
# 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",
"$magma_build_root/src/libmagma",
"//sdk/lib/magma_client:magma_headers",
"//src/graphics/drivers/msd-arm-mali/include",
"//src/graphics/drivers/msd-intel-gen/include",
"//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",
"$magma_build_root/src/libmagma:magma_hermetic",
"//sdk/lib/magma_client:magma_headers",
"//src/graphics/drivers/msd-arm-mali/include",
"//src/graphics/drivers/msd-intel-gen/include",
"//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 = [
"$magma_build_root/src/libmagma_virt",
"//sdk/lib/magma_client:magma_headers",
"//src/graphics/drivers/msd-arm-mali/include",
"//src/graphics/drivers/msd-intel-gen/include",
"//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 = [
"$magma_build_root/src/libmagma_virt",
"//sdk/lib/magma_client:magma_headers",
]
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 = [
"$magma_build_root/src/libmagma_virt",
"//sdk/lib/magma_client:magma_headers",
"//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
}