blob: 539385db4e5b3bfa1c76ebae317260efa952b504 [file] [log] [blame]
# Copyright 2021 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_unittest_package.gni")
import("//build/fuzz.gni")
group("test") {
testonly = true
deps = [
":vaapi-fuzzers",
":vaapi_tests_package",
]
}
source_set("vaapi_stubs") {
testonly = true
sources = [
"vaapi_stubs.cc",
"vaapi_stubs.h",
]
public_deps = [
"//sdk/lib/magma_client:magma_headers",
"//third_party/intel/libva/fuchsia:headers",
]
deps = [ "//third_party/googletest:gtest" ]
}
executable("vaapi_tests") {
testonly = true
sources = [
"h264_encoder_test.cc",
"h264_vaapi_test.cc",
"vp9_vaapi_test.cc",
]
deps = [
":vaapi_stubs",
"..:codec_runner_vaapi",
"../../test:test_codec_packets",
"//src/lib/files",
"//src/lib/fxl/test:gtest_main",
"//third_party/googletest:gtest",
"//zircon/system/ulib/async-loop:async-loop-cpp",
]
}
resource("bear_h264") {
sources = [
"//prebuilt/test_data/media/third_party/chromium_media_test_data/bear.h264",
]
outputs = [ "data/bear.h264" ]
}
resource("test_25fps") {
sources = [ "//prebuilt/test_data/media/third_party/chromium_media_test_data/test-25fps.vp9" ]
outputs = [ "data/test-25fps.vp9" ]
}
fuchsia_unittest_package("vaapi_tests_package") {
package_name = "vaapi_tests"
deps = [
":bear_h264",
":test_25fps",
":vaapi_tests",
]
}
source_set("decoder_fuzzer") {
testonly = true
sources = [
"decoder_fuzzer.cc",
"decoder_fuzzer.h",
]
public_deps = [
":vaapi_stubs",
"..:codec_runner_vaapi",
"../../test:test_codec_packets",
"//sdk/fidl/fuchsia.mediacodec:fuchsia.mediacodec_hlcpp",
]
deps = [ "//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_hlcpp" ]
}
fuchsia_library_fuzzer("vaapi_mjpeg_decode_fuzzer") {
sources = [ "mjpeg_decode_fuzzer.cc" ]
deps = [ ":decoder_fuzzer" ]
}
fuchsia_library_fuzzer("vaapi_h264_decode_fuzzer") {
sources = [ "h264_decode_fuzzer.cc" ]
deps = [ ":decoder_fuzzer" ]
}
fuchsia_library_fuzzer("vaapi_vp9_decode_fuzzer") {
sources = [ "vp9_decode_fuzzer.cc" ]
deps = [ ":decoder_fuzzer" ]
}
fuchsia_fuzzer_component("vaapi_mjpeg_decode_fuzzer_component") {
component_name = "vaapi_mjpeg_decode_fuzzer"
manifest = "meta/vaapi_mjpeg_decode_fuzzer.cml"
deps = [ ":vaapi_mjpeg_decode_fuzzer" ]
}
fuchsia_fuzzer_component("vaapi_h264_decode_fuzzer_component") {
component_name = "vaapi_h264_decode_fuzzer"
manifest = "meta/vaapi_h264_decode_fuzzer.cml"
deps = [ ":vaapi_h264_decode_fuzzer" ]
}
fuchsia_fuzzer_component("vaapi_vp9_decode_fuzzer_component") {
component_name = "vaapi_vp9_decode_fuzzer"
manifest = "meta/vaapi_vp9_decode_fuzzer.cml"
deps = [ ":vaapi_vp9_decode_fuzzer" ]
}
fuchsia_fuzzer_package("vaapi-fuzzers") {
cpp_fuzzer_components = [
":vaapi_mjpeg_decode_fuzzer_component",
":vaapi_h264_decode_fuzzer_component",
":vaapi_vp9_decode_fuzzer_component",
]
}