| # 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", |
| ] |
| } |