blob: 834e6f6d264f8039c96233d9f71c7c14e295612f [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.gni")
import("//build/components/fuchsia_unittest_package.gni")
source_set("factory_source") {
sources = [
"codec_factory_app.cc",
"codec_factory_app.h",
"codec_factory_hw_policy.cc",
"codec_factory_hw_policy.h",
"codec_factory_hw_policy_astro.cc",
"codec_factory_hw_policy_astro.h",
"codec_factory_impl.cc",
"codec_factory_impl.h",
"codec_factory_policy.cc",
"codec_factory_policy.h",
"codec_isolate.cc",
"codec_isolate.h",
]
public_deps = [
"//sdk/fidl/fuchsia.component:fuchsia.component_hlcpp",
"//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_hlcpp",
"//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_hlcpp",
"//sdk/fidl/fuchsia.hardware.mediacodec:fuchsia.hardware.mediacodec_hlcpp",
"//sdk/fidl/fuchsia.media:fuchsia.media_hlcpp",
"//sdk/fidl/fuchsia.mediacodec:fuchsia.mediacodec_hlcpp",
"//sdk/fidl/fuchsia.metrics:fuchsia.metrics_hlcpp",
"//sdk/fidl/fuchsia.sys2:fuchsia.sys2_hlcpp",
"//sdk/fidl/fuchsia.sysinfo:fuchsia.sysinfo_hlcpp",
"//sdk/lib/inspect/component/cpp",
"//sdk/lib/svc",
"//sdk/lib/sys/cpp",
"//sdk/lib/sys/cpp",
"//sdk/lib/syslog/cpp",
"//src/lib/fsl",
"//src/lib/fxl",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
"//zircon/system/ulib/trace-provider",
]
deps = [ "//sdk/lib/vfs/cpp" ]
}
fuchsia_component("component") {
manifest = "meta/codec_factory.cml"
deps = [ ":factory" ]
component_name = "codec_factory"
}
executable("factory") {
output_name = "codec_factory"
sources = [ "main.cc" ]
deps = [ ":factory_source" ]
}
executable("codec_detect_hw_encode_test_bin") {
output_name = "codec_detect_hw_encode_test"
testonly = true
sources = [ "test/codec_detect_hw_encode_test.cc" ]
deps = [
":factory_source",
"//src/lib/fxl/test:gtest_main",
"//src/lib/testing/loop_fixture",
]
}
executable("codec_detect_hw_decode_test_bin") {
output_name = "codec_detect_hw_decode_test"
testonly = true
sources = [ "test/codec_detect_hw_decode_test.cc" ]
deps = [
":factory_source",
"//src/lib/fxl/test:gtest_main",
"//src/lib/testing/loop_fixture",
]
# TODO(https://fxbug.dev/42077218): Temporarily disable lsan for this target. Reenable once all leaks are fixed.
deps += [ "//build/config/sanitizers:suppress-lsan.DO-NOT-USE-THIS" ]
}
fuchsia_test_component("codec_detect_hw_encode") {
manifest = "meta/codec_detect_hw_encode_test.cml"
deps = [ ":codec_detect_hw_encode_test_bin" ]
test_type = "system"
}
fuchsia_test_component("codec_detect_hw_decode") {
manifest = "meta/codec_detect_hw_decode_test.cml"
deps = [ ":codec_detect_hw_decode_test_bin" ]
test_type = "system"
}
fuchsia_test_package("codec_detect_hw_decode_test") {
test_components = [ ":codec_detect_hw_decode" ]
test_specs = {
# test depends on hw decoder device being present
environments = [
sherlock_env,
astro_env,
vim3_env,
]
}
}
fuchsia_test_package("codec_detect_hw_encode_test") {
test_components = [ ":codec_detect_hw_encode" ]
test_specs = {
# test depends on hw encoder device being present
environments = [ sherlock_env ]
}
}
executable("codec_factory_integration_test_exe") {
output_name = "codec_factory_integration_test"
testonly = true
sources = [ "test/codec_factory_integration_test.cc" ]
deps = [
"//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_hlcpp",
"//sdk/fidl/fuchsia.mediacodec:fuchsia.mediacodec_hlcpp",
"//sdk/fidl/fuchsia.sysinfo:fuchsia.sysinfo_hlcpp",
"//sdk/lib/sys/component/cpp/testing:cpp",
"//sdk/lib/vfs/cpp",
"//src/lib/fxl/test:gtest_main",
"//src/lib/testing/loop_fixture",
"//src/storage/lib/vfs/cpp",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
]
}
executable("fake_codec_factory_bin") {
testonly = true
output_name = "fake_codec_factory"
sources = [ "test/fake_codec_factory.cc" ]
deps = [
"//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_hlcpp",
"//sdk/fidl/fuchsia.media:fuchsia.media_hlcpp",
"//sdk/fidl/fuchsia.mediacodec:fuchsia.mediacodec_hlcpp",
"//sdk/lib/sys/cpp",
"//sdk/lib/syslog/cpp",
"//src/lib/fxl:fxl_cli",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
]
}
fuchsia_component("fake_codec_factory") {
testonly = true
component_name = "fake_codec_factory"
deps = [ ":fake_codec_factory_bin" ]
manifest = "meta/fake_codec_factory.cml"
}
fuchsia_unittest_package("codec_factory_integration_test") {
deps = [
":codec_factory_integration_test_exe",
":component",
":fake_codec_factory",
]
manifest = "meta/codec_factory_integration_test.cml"
}