blob: 7811a9c4ba90508c5906dd0b77bfae504e671d1e [file] [edit]
# 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.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/svc",
"//sdk/lib/sys/cpp",
"//sdk/lib/sys/cpp",
"//sdk/lib/sys/inspect/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",
]
}
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",
]
}
fuchsia_test_component("codec_detect_hw_encode") {
manifest = "meta/codec_detect_hw_encode_test.cml"
deps = [ ":codec_detect_hw_encode_test_bin" ]
}
fuchsia_test_component("codec_detect_hw_decode") {
manifest = "meta/codec_detect_hw_decode_test.cml"
deps = [ ":codec_detect_hw_decode_test_bin" ]
}
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",
"//src/lib/fxl/test:gtest_main",
"//src/lib/storage/vfs/cpp",
"//src/lib/testing/loop_fixture",
"//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",
"//src/lib/fxl",
"//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"
}