blob: c028fbfe261b6de593c2cdd0ed4d3373d35e84b0 [file] [log] [blame]
# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/ui.gni")
import("//components/viz/viz.gni")
import("//testing/test.gni")
if (is_ios && (skia_use_dawn || skia_use_metal)) {
bundle_data("unit_tests_filter_bundle_data") {
testonly = true
sources = [ "//testing/buildbot/filters/ios.viz_unittests.filter" ]
outputs = [ "{{bundle_resources_dir}}/" +
"{{source_root_relative_dir}}/{{source_file_part}}" ]
}
}
viz_test("viz_unittests") {
configs = []
if (is_chromeos_lacros && is_chromeos_device) {
configs += [ "//build/lacros:optional_shared_libgcc" ]
}
use_xvfb = use_xvfb_in_this_config
sources = [ "test/run_all_unittests.cc" ]
deps = [
"//base",
"//base/test:test_support",
"//components/viz/client:unit_tests",
"//components/viz/common:unit_tests",
"//components/viz/host:unit_tests",
"//components/viz/service:unit_tests",
"//components/viz/test:test_suite",
"//components/viz/test:test_support",
"//components/viz/test:unit_tests",
"//mojo/core/embedder",
]
data = [ "//components/test/data/viz/" ]
data_deps = [
"//testing/buildbot/filters:viz_unittests_filters",
"//third_party/mesa_headers",
]
if (is_android) {
# The top level test target must depend on the java library directly.
deps += [ "//components/viz/service:service_java" ]
}
if (is_fuchsia) {
# TODO(crbug.com/42050042): Some of these tests use SwiftShader,
# which requires ambient VMEX.
test_runner_shard = "//build/config/fuchsia/test/elf_test_ambient_exec_runner.shard.test-cml"
additional_manifest_fragments = [
"//build/config/fuchsia/test/mark_vmo_executable.shard.test-cml",
"//third_party/fuchsia-sdk/sdk/pkg/vulkan/client.shard.cml",
]
}
if (is_ios) {
public_deps = [
":unit_tests_filter_bundle_data",
"//components/test:viz_test_bundle_data",
]
}
}
viz_test("viz_perftests") {
sources = [ "test/run_all_perftests.cc" ]
deps = [
"//base",
"//base/test:test_support",
"//components/viz/common:perf_tests",
"//components/viz/service:perf_tests",
"//components/viz/test:test_suite",
"//components/viz/test:test_support",
"//mojo/core/embedder",
"//skia",
]
data = [ "//components/test/data/viz/" ]
# This target should not require the Chrome executable to run.
assert_no_deps = [ "//chrome" ]
data_deps = [
# Needed for isolate script to execute.
"//testing:run_perf_test",
]
}
if (is_android) {
java_cpp_features("java_features_srcjar") {
# External code should depend on ":viz_java" instead.
visibility = [ ":*" ]
sources = [ "common/features.cc" ]
template = "common/java/src/org/chromium/components/viz/common/VizFeatures.java.tmpl"
}
android_library("viz_java") {
# Right now, this only includes the Java features. But if we need more Java
# files, they should be added here as necessary.
srcjar_deps = [ ":java_features_srcjar" ]
}
}