blob: 1d426daa4a00b9d84055d4c87306af9726690c10 [file] [log] [blame]
# Copyright 2014 The Chromium 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("//media/media_options.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
source_set("run_all_unittests") {
testonly = true
sources = [
"run_all_unittests.cc",
]
deps = [
"//base",
"//base/test:test_support",
"//media",
"//media/base:test_support",
"//mojo/edk/system",
]
if (is_android) {
deps += [ "//ui/gl" ]
}
}
source_set("pipeline_integration_test_base") {
testonly = true
if (media_use_ffmpeg) {
sources = [
"pipeline_integration_test_base.cc",
"pipeline_integration_test_base.h",
]
public_deps = [
"//media",
]
deps = [
"//base",
"//base/test:test_support",
"//media:test_support",
"//media/audio:test_support",
"//media/base:test_support",
"//testing/gmock",
"//testing/gtest",
]
}
}
source_set("pipeline_integration_tests") {
testonly = true
# Even if FFmpeg is enabled on Android we don't want these.
# TODO(watk): Refactor tests that could be made to run on Android. See
# http://crbug.com/570762
if (media_use_ffmpeg && !is_android) {
sources = [
"pipeline_integration_test.cc",
]
configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
deps = [
":pipeline_integration_test_base",
"//base",
"//media:test_support",
"//media/base:test_support",
"//media/mojo/clients",
"//services/service_manager/public/cpp:service_test_support",
# Needed for the opus_config
"//third_party/opus",
"//url",
# TODO(dalecurtis): Required since the gmock header is included in the
# header for pipeline_integration_test_base.h. This should be moved into
# the .cc file to avoid the extra dependency here.
"//testing/gmock",
]
}
}
source_set("pipeline_integration_perftests") {
testonly = true
if (media_use_ffmpeg) {
sources = [
"pipeline_integration_perftest.cc",
]
deps = [
":pipeline_integration_test_base",
"//media/base:test_support",
"//testing/gtest",
"//testing/perf",
# TODO(dalecurtis): Required since the gmock header is included in the
# header for pipeline_integration_test_base.h. This should be moved into
# the .cc file to avoid the extra dependency here.
"//testing/gmock",
]
}
}
source_set("mojo_pipeline_integration_tests") {
testonly = true
if (media_use_ffmpeg && !is_android) {
sources = [
"pipeline_integration_test.cc",
]
defines = [ "MOJO_RENDERER" ]
configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
deps = [
":pipeline_integration_test_base",
"//base",
"//base/test:test_support",
"//media:test_support",
"//media/audio:test_support",
"//media/base:test_support",
"//media/mojo/clients",
"//media/mojo/interfaces",
"//media/mojo/services",
"//services/service_manager/public/cpp:service_test_support",
"//testing/gtest",
"//ui/gfx:test_support",
"//ui/gfx/geometry",
# TODO(dalecurtis): Required since the gmock header is included in the
# header for pipeline_integration_test_base.h. This should be moved
# into the .cc file to avoid the extra dependency here.
"//testing/gmock",
]
}
}
fuzzer_test("media_pipeline_integration_fuzzer") {
sources = [
"pipeline_integration_fuzzertest.cc",
]
deps = [
":pipeline_integration_test_base",
"//base",
"//media",
# TODO(dalecurtis): Required since the gmock header is included in the
# header for pipeline_integration_test_base.h. This should be
# moved into the .cc file to avoid the extra dependency here.
"//testing/gmock",
"//ui/gfx:test_support",
]
libfuzzer_options = [
# This is done to avoid DEATH of ASan with "Thread limit exceeded" error.
"runs=500000",
# This is done to suppress tons of log messages generated by gmock asserts.
"close_fd_mask=1",
]
}