blob: cc1e27f35d226ef9acbcc2089a5610260cf58e27 [file] [log] [blame]
# Copyright 2019 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/config.gni")
import("//build/rust/rustc_library.gni")
import("//build/rust/rustc_test.gni")
import("//build/testing/environments.gni")
group("test") {
testonly = true
deps = [
":audio_decoder_test",
":audio_encoder_lib_test",
":audio_encoder_test",
":audio_roundtrip_test",
":h264-stream-test",
":h264_decoder_test",
":h264_encoder_test",
":stream_processor_lib_test",
":video-frame-stream-test",
":video_frame_hasher_test",
]
}
rustc_library("stream_processor_test_lib") {
name = "stream_processor_test"
edition = "2021"
testonly = true
with_unit_tests = true
deps = [
"//sdk/fidl/fuchsia.media:fuchsia.media_rust",
"//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_rust",
"//src/lib/fidl/rust/fidl",
"//src/lib/fidl_table_validation",
"//src/lib/fuchsia-component",
"//src/lib/fuchsia-runtime",
"//src/lib/mundane",
"//src/lib/zircon/rust:fuchsia-zircon",
"//src/media/stream_processors/fuchsia-stream-processors",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:async-trait",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:hex",
"//third_party/rust_crates:num-traits",
"//third_party/rust_crates:thiserror",
"//third_party/rust_crates:tracing",
]
sources = [
"src/buffer_collection_constraints.rs",
"src/buffer_set.rs",
"src/elementary_stream.rs",
"src/input_packet_stream.rs",
"src/lib.rs",
"src/output_validator.rs",
"src/stream.rs",
"src/stream_runner.rs",
"src/test_spec.rs",
]
test_deps = [ "//src/lib/fuchsia" ]
}
fuchsia_unittest_package("stream_processor_lib_test") {
deps = [ ":stream_processor_test_lib_test" ]
}
rustc_library("stream_processor_decoder_factory_lib") {
name = "stream_processor_decoder_factory"
edition = "2021"
source_root = "stream_processor_factories/decoders.rs"
testonly = true
deps = [
":stream_processor_test_lib",
"//sdk/fidl/fuchsia.media:fuchsia.media_rust",
"//sdk/fidl/fuchsia.mediacodec:fuchsia.mediacodec_rust",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia-component",
"//third_party/rust_crates:futures",
]
sources = [ "stream_processor_factories/decoders.rs" ]
}
rustc_library("stream_processor_encoder_factory_lib") {
name = "stream_processor_encoder_factory"
edition = "2021"
source_root = "stream_processor_factories/encoders.rs"
testonly = true
deps = [
":stream_processor_test_lib",
"//sdk/fidl/fuchsia.media:fuchsia.media_rust",
"//sdk/fidl/fuchsia.mediacodec:fuchsia.mediacodec_rust",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia-component",
"//third_party/rust_crates:futures",
]
sources = [ "stream_processor_factories/encoders.rs" ]
}
rustc_library("decoder_test_data") {
name = "decoder_test_data"
edition = "2021"
source_root = "audio_decoder_test/test_data/lib.rs"
testonly = true
sources = [
"audio_decoder_test/test_data/encoded.rs",
"audio_decoder_test/test_data/lib.rs",
]
}
rustc_library("audio_decoder_test_lib") {
name = "audio_decoder_test_lib"
edition = "2021"
source_root = "audio_decoder_test/lib.rs"
testonly = true
with_unit_tests = true
deps = [
":stream_processor_decoder_factory_lib",
":stream_processor_test_lib",
"//sdk/fidl/fuchsia.media:fuchsia.media_rust",
"//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_rust",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:bitfield",
]
test_deps = [ "//src/lib/fuchsia" ]
sources = [
"audio_decoder_test/cvsd.rs",
"audio_decoder_test/lc3.rs",
"audio_decoder_test/lib.rs",
"audio_decoder_test/sbc.rs",
"audio_decoder_test/test_suite.rs",
]
}
rustc_test("audio_decoder_test_bin") {
name = "audio_decoder_test"
edition = "2021"
source_root = "audio_decoder_test/tests/tests.rs"
sources = [ "audio_decoder_test/tests/tests.rs" ]
deps = [
":audio_decoder_test_lib",
":decoder_test_data",
":stream_processor_test_lib",
"//sdk/fidl/fuchsia.media:fuchsia.media_rust",
"//src/connectivity/bluetooth/lib/fuchsia-bluetooth",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
]
}
resource("sbc_file") {
sources = [ "audio_decoder_test/test_data/s16le44100mono.sbc" ]
outputs = [ "data/s16le44100mono.sbc" ]
}
fuchsia_test_component("audio_decoder_test_comp") {
component_name = "audio_decoder_test"
manifest = "meta/audio_decoder_test.cml"
deps = [
":audio_decoder_test_bin",
":sbc_file",
]
test_type = "system"
}
fuchsia_test_package("audio_decoder_test") {
test_components = [ ":audio_decoder_test_comp" ]
subpackages = [ "//src/media/codec:codec_factory_test" ]
deps = [ ":sbc_file" ]
}
rustc_library("encoder_test_data") {
name = "encoder_test_data"
edition = "2021"
source_root = "audio_encoder_test/test_data/lib.rs"
testonly = true
sources = [
"audio_encoder_test/test_data/input_pcm.rs",
"audio_encoder_test/test_data/lib.rs",
]
}
rustc_library("audio_encoder_test_lib") {
name = "audio_encoder_test_lib"
edition = "2021"
source_root = "audio_encoder_test/lib.rs"
testonly = true
with_unit_tests = true
deps = [
":stream_processor_encoder_factory_lib",
":stream_processor_test_lib",
"//sdk/fidl/fuchsia.media:fuchsia.media_rust",
"//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_rust",
"//src/lib/zircon/rust:fuchsia-zircon",
"//third_party/rust_crates:async-trait",
"//third_party/rust_crates:byteorder",
"//third_party/rust_crates:itertools",
"//third_party/rust_crates:rand",
]
test_deps = [
"//src/lib/fuchsia",
"//src/lib/mundane",
"//third_party/rust_crates:hex",
]
sources = [
"audio_encoder_test/lib.rs",
"audio_encoder_test/pcm_audio.rs",
"audio_encoder_test/test_suite.rs",
"audio_encoder_test/timestamp_validator.rs",
]
}
fuchsia_unittest_package("audio_encoder_lib_test") {
deps = [ ":audio_encoder_test_lib_test" ]
}
rustc_test("audio_encoder_test_bin") {
name = "audio_encoder_test"
edition = "2021"
source_root = "audio_encoder_test/tests/tests.rs"
sources = [ "audio_encoder_test/tests/tests.rs" ]
deps = [
":audio_encoder_test_lib",
":encoder_test_data",
":stream_processor_test_lib",
"//sdk/fidl/fuchsia.media:fuchsia.media_rust",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
]
}
fuchsia_test_component("audio_encoder_test_comp") {
component_name = "audio_encoder_test"
manifest = "meta/audio_encoder_test.cml"
deps = [
":audio_encoder_test_bin",
":sbc_file",
]
test_type = "system"
}
fuchsia_test_package("audio_encoder_test") {
test_components = [ ":audio_encoder_test_comp" ]
subpackages = [ "//src/media/codec:codec_factory_test" ]
}
rustc_library("video_frame_hasher_lib") {
name = "video_frame_hasher"
edition = "2021"
with_unit_tests = true
testonly = true
source_root = "video_frame_hasher/lib.rs"
deps = [
":stream_processor_test_lib",
"//sdk/fidl/fuchsia.media:fuchsia.media_rust",
"//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_rust",
"//src/lib/mundane",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:async-trait",
"//third_party/rust_crates:hex",
"//third_party/rust_crates:thiserror",
]
test_deps = [
"//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_rust",
"//src/lib/fuchsia",
"//src/media/stream_processors/fuchsia-stream-processors",
"//third_party/rust_crates:rand",
]
sources = [ "video_frame_hasher/lib.rs" ]
}
resource("cvsd_file") {
sources = [ "audio_roundtrip_test/test_data/test_s16le64000mono.cvsd" ]
outputs = [ "data/test_s16le64000mono.cvsd" ]
}
rustc_library("roundtrip_test_data") {
name = "roundtrip_test_data"
edition = "2021"
source_root = "audio_roundtrip_test/test_data/lib.rs"
testonly = true
sources = [
"audio_roundtrip_test/test_data/cvsd_input_pcm.rs",
"audio_roundtrip_test/test_data/cvsd_transcoded_pcm.rs",
"audio_roundtrip_test/test_data/lib.rs",
]
}
rustc_library("audio_roundtrip_test_lib") {
name = "audio_roundtrip_test_lib"
edition = "2021"
source_root = "audio_roundtrip_test/lib.rs"
testonly = true
with_unit_tests = true
deps = [
":audio_encoder_test_lib",
":stream_processor_decoder_factory_lib",
":stream_processor_encoder_factory_lib",
":stream_processor_test_lib",
"//sdk/fidl/fuchsia.media:fuchsia.media_rust",
"//third_party/rust_crates:tracing",
]
test_deps = [ "//src/lib/fuchsia" ]
sources = [
"audio_roundtrip_test/lib.rs",
"audio_roundtrip_test/test_suite.rs",
]
}
rustc_test("audio_roundtrip_test_bin") {
name = "audio_roundtrip_test"
edition = "2021"
source_root = "audio_roundtrip_test/tests/tests.rs"
sources = [ "audio_roundtrip_test/tests/tests.rs" ]
deps = [
":audio_decoder_test_lib",
":audio_roundtrip_test_lib",
":roundtrip_test_data",
":stream_processor_test_lib",
"//sdk/fidl/fuchsia.media:fuchsia.media_rust",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
]
}
fuchsia_test_component("audio_roundtrip_test_comp") {
component_name = "audio_roundtrip_test"
manifest = "meta/audio_roundtrip_test.cml"
deps = [
":audio_roundtrip_test_bin",
":cvsd_file",
]
test_type = "system"
}
fuchsia_test_package("audio_roundtrip_test") {
test_components = [ ":audio_roundtrip_test_comp" ]
subpackages = [ "//src/media/codec:codec_factory_test" ]
deps = [ ":cvsd_file" ]
}
fuchsia_unittest_package("video_frame_hasher_test") {
deps = [ ":video_frame_hasher_lib_test" ]
}
rustc_library("video_frame_stream_lib") {
name = "video_frame_stream"
edition = "2021"
with_unit_tests = true
testonly = true
source_root = "video_frame_stream/lib.rs"
deps = [
":stream_processor_test_lib",
"//sdk/fidl/fuchsia.media:fuchsia.media_rust",
"//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_rust",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:async-trait",
]
test_deps = [
"//src/lib/fuchsia",
"//src/lib/zircon/rust:fuchsia-zircon",
]
sources = [ "video_frame_stream/lib.rs" ]
}
fuchsia_unittest_package("video-frame-stream-test") {
deps = [ ":video_frame_stream_lib_test" ]
}
rustc_library("h264_stream_lib") {
name = "h264_stream"
edition = "2021"
with_unit_tests = true
testonly = true
source_root = "h264_stream/lib.rs"
deps = [
":stream_processor_test_lib",
"//sdk/fidl/fuchsia.media:fuchsia.media_rust",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:byteorder",
]
sources = [ "h264_stream/lib.rs" ]
test_deps = [ "//src/lib/fuchsia" ]
}
fuchsia_unittest_package("h264-stream-test") {
deps = [ ":h264_stream_lib_test" ]
}
rustc_test("h264_decoder_test_bin") {
name = "h264_decoder_test"
edition = "2021"
source_root = "h264_decoder_test/lib.rs"
deps = [
":h264_stream_lib",
":stream_processor_decoder_factory_lib",
":stream_processor_test_lib",
":video_frame_hasher_lib",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:lazy_static",
]
sources = [ "h264_decoder_test/lib.rs" ]
}
resource("bear_video") {
sources = [
"//prebuilt/test_data/media/third_party/chromium_media_test_data/bear.h264",
]
outputs = [ "data/bear.h264" ]
}
fuchsia_test_component("h264_decoder_test_comp") {
component_name = "h264_decoder_test"
manifest = "meta/h264_decoder_test.cml"
deps = [ ":h264_decoder_test_bin" ]
test_type = "system"
}
fuchsia_test_package("h264_decoder_test") {
test_components = [ ":h264_decoder_test_comp" ]
subpackages = [ "//src/media/codec:codec_factory_test" ]
deps = [ ":bear_video" ]
test_specs = {
environments = basic_envs + [
astro_env,
sherlock_env,
vim3_env,
nuc_env,
]
}
}
rustc_test("h264_encoder_test_bin") {
name = "h264_encoder_test"
edition = "2021"
source_root = "h264_encoder_test/lib.rs"
deps = [
":h264_stream_lib",
":stream_processor_decoder_factory_lib",
":stream_processor_encoder_factory_lib",
":stream_processor_test_lib",
":video_frame_stream_lib",
"//sdk/fidl/fuchsia.media:fuchsia.media_rust",
"//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_rust",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/zircon/rust:fuchsia-zircon",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:async-trait",
]
sources = [
"h264_encoder_test/lib.rs",
"h264_encoder_test/test_suite.rs",
]
}
fuchsia_test_component("h264_encoder_test_comp") {
restricted_features = [ "allow_non_hermetic_packages" ]
component_name = "h264_encoder_test"
manifest = "meta/h264_encoder_test.cml"
deps = [ ":h264_encoder_test_bin" ]
test_type = "system"
}
fuchsia_test_package("h264_encoder_test") {
test_components = [ ":h264_encoder_test_comp" ]
subpackages = [ "//src/media/codec:codec_factory_test" ]
test_specs = {
environments = [ sherlock_env ]
}
}
rustc_test("h265_encoder_test_bin") {
name = "h265_encoder_test"
edition = "2018"
source_root = "h265_encoder_test/lib.rs"
deps = [
":stream_processor_encoder_factory_lib",
":stream_processor_test_lib",
":video_frame_stream_lib",
"//sdk/fidl/fuchsia.media:fuchsia.media_rust",
"//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_rust",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/zircon/rust:fuchsia-zircon",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:async-trait",
"//third_party/rust_crates:tracing",
]
sources = [
"h265_encoder_test/h265.rs",
"h265_encoder_test/lib.rs",
"h265_encoder_test/test_suite.rs",
]
}
fuchsia_test_component("h265-encoder-test") {
manifest = "meta/h265_encoder_test.cml"
deps = [ ":h265_encoder_test_bin" ]
test_type = "system"
}
fuchsia_test_package("h265-encoder-tests") {
test_components = [ ":h265-encoder-test" ]
subpackages = [ "//src/media/codec:codec_factory_test" ]
test_specs = {
environments = [ sherlock_env ]
}
}