blob: 658053574537a9b2c8854dd4559f29e2eea3b6a9 [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.cobalt",
"//sdk/fidl/fuchsia.component",
"//sdk/fidl/fuchsia.component.decl",
"//sdk/fidl/fuchsia.gpu.magma",
"//sdk/fidl/fuchsia.hardware.mediacodec",
"//sdk/fidl/fuchsia.mediacodec",
"//sdk/fidl/fuchsia.sys2",
"//sdk/fidl/fuchsia.sysinfo",
"//sdk/lib/svc",
"//sdk/lib/sys/cpp",
"//sdk/lib/syslog/cpp",
# For FX_LOGF
"//sdk/lib/syslog/cpp:backend_legacy",
"//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.cmx"
deps = [ ":factory" ]
component_name = "codec_factory"
}
fuchsia_component("component_v2") {
manifest = "meta/codec_factory_v2.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",
]
}
fuchsia_unittest_package("codec_detect_hw_encode_test") {
manifest = "meta/codec_detect_hw_encode_test.cmx"
deps = [ ":codec_detect_hw_encode_test_bin" ]
test_specs = {
# test depends on hw encoder device being present
environments = [ sherlock_env ]
}
}
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_unittest_package("codec_detect_hw_decode_test") {
manifest = "meta/codec_detect_hw_decode_test.cmx"
deps = [ ":codec_detect_hw_decode_test_bin" ]
test_specs = {
# test depends on hw decoder device being present
environments = [
sherlock_env,
astro_env,
vim3_env,
]
}
}
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_v2") {
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_v2") {
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",
"//sdk/fidl/fuchsia.mediacodec",
"//sdk/fidl/fuchsia.sysinfo",
"//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",
"//sdk/fidl/fuchsia.media",
"//sdk/fidl/fuchsia.mediacodec",
"//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_v2",
":fake_codec_factory",
]
manifest = "meta/codec_factory_integration_test.cml"
}