blob: 2a982027a1ea45612a60e984c78e47913d32a02a [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.
copy("copy_test_files") {
visibility = [ ":*" ]
sources = [
# Keep "test_case.html.mock-http-headers" with "test_case.html".
"tests/ppapi_nacl_tests_newlib.nmf",
"tests/test_case.html",
"tests/test_case.html.mock-http-headers",
"tests/test_page.css",
"tests/test_page.css.mock-http-headers",
]
outputs = [
"$root_out_dir/{{source_file_part}}",
]
}
copy("copy_test_files2") {
visibility = [ ":*" ]
sources = [
"tests/test_url_loader_data/hello.txt",
]
outputs = [
"$root_out_dir/test_url_loader_data/{{source_file_part}}",
]
}
import("//build/config/features.gni")
import("//build/config/nacl/config.gni")
import("//ppapi/ppapi_sources.gni")
import("//testing/test.gni")
shared_library("ppapi_tests") {
sources = ppapi_sources.test_common_source_files +
ppapi_sources.test_trusted_source_files
configs += [ "//build/config:precompiled_headers" ]
defines = [ "GL_GLEXT_PROTOTYPES" ]
include_dirs = [ "lib/gl/include" ]
deps = [
":copy_test_files",
":copy_test_files2",
"//build/config/sanitizers:deps",
"//ppapi/cpp",
"//ppapi/shared_impl",
]
}
shared_library("power_saver_test_plugin") {
sources = [
"tests/power_saver_test_plugin.cc",
"tests/test_utils.cc",
]
deps = [
"//build/config/sanitizers:deps",
"//ppapi/cpp",
"//ppapi/shared_impl",
]
}
test("ppapi_unittests") {
sources = [
"host/resource_message_filter_unittest.cc",
"proxy/device_enumeration_resource_helper_unittest.cc",
"proxy/file_chooser_resource_unittest.cc",
"proxy/file_system_resource_unittest.cc",
"proxy/flash_resource_unittest.cc",
"proxy/interface_list_unittest.cc",
"proxy/mock_resource.cc",
"proxy/mock_resource.h",
"proxy/nacl_message_scanner_unittest.cc",
"proxy/pdf_resource_unittest.cc",
"proxy/plugin_dispatcher_unittest.cc",
"proxy/plugin_resource_tracker_unittest.cc",
"proxy/plugin_var_tracker_unittest.cc",
"proxy/ppb_var_unittest.cc",
"proxy/ppp_instance_private_proxy_unittest.cc",
"proxy/ppp_instance_proxy_unittest.cc",
"proxy/ppp_messaging_proxy_unittest.cc",
"proxy/printing_resource_unittest.cc",
"proxy/raw_var_data_unittest.cc",
"proxy/serialized_var_unittest.cc",
"proxy/tracked_callback_unittest.cc",
"proxy/video_decoder_resource_unittest.cc",
"proxy/video_encoder_resource_unittest.cc",
"proxy/websocket_resource_unittest.cc",
"shared_impl/media_stream_audio_track_shared_unittest.cc",
"shared_impl/media_stream_buffer_manager_unittest.cc",
"shared_impl/media_stream_video_track_shared_unittest.cc",
"shared_impl/proxy_lock_unittest.cc",
"shared_impl/resource_tracker_unittest.cc",
"shared_impl/thread_aware_callback_unittest.cc",
"shared_impl/time_conversion_unittest.cc",
"shared_impl/var_tracker_unittest.cc",
]
deps = [
"//base/allocator",
"//base/test:run_all_unittests",
"//base/test:test_support",
"//gpu/ipc",
"//ipc",
"//ipc:test_support",
"//media:shared_memory_support",
"//ppapi/host",
"//ppapi/proxy",
"//ppapi/proxy:test_support",
"//ppapi/shared_impl",
"//ppapi/shared_impl:test_support",
"//testing/gmock",
"//testing/gtest",
"//ui/surface",
]
}
test("ppapi_perftests") {
sources = [
"proxy/ppapi_perftests.cc",
"proxy/ppp_messaging_proxy_perftest.cc",
]
deps = [
"//base/allocator",
"//base/test:test_support",
"//ppapi/proxy",
"//ppapi/proxy:test_support",
"//ppapi/shared_impl",
"//ppapi/shared_impl:test_support",
"//testing/gtest",
]
}
executable("pepper_hash_for_uma") {
sources = [
"tools/pepper_hash_for_uma.cc",
]
deps = [
"//base",
"//build/config/sanitizers:deps",
]
}
source_set("ppapi_cpp_lib") {
sources = ppapi_sources.cpp_source_files
sources += [
"cpp/module_embedder.h",
"cpp/ppp_entrypoints.cc",
]
deps = [
"//build/config/nacl:nacl_base",
]
}
source_set("ppapi_gles2_lib") {
include_dirs = [ "lib/gl/include" ]
sources = [
"lib/gl/gles2/gl2ext_ppapi.c",
"lib/gl/gles2/gl2ext_ppapi.h",
"lib/gl/gles2/gles2.c",
]
deps = [
"//ppapi/cpp",
]
}
if (enable_nacl) {
if (is_nacl) {
shared_library("ppapi_cpp_lib_shared") {
# When using gcc, we hide all symbols by default, but that breaks at
# link time as the test executable requires symbols defined in the
# shared library.
if (is_nacl_glibc) {
configs -= [ "//build/config/gcc:symbol_visibility_hidden" ]
}
sources = ppapi_sources.cpp_source_files
sources += [
"cpp/module_embedder.h",
"cpp/ppp_entrypoints.cc",
]
cflags = [ "-fPIC" ]
deps = [
"//build/config/nacl:nacl_base",
]
}
executable("ppapi_nacl_tests") {
include_dirs = [ "lib/gl/include" ]
sources = ppapi_sources.test_common_source_files +
ppapi_sources.test_nacl_source_files
defines = [
"GL_GLEXT_PROTOTYPES",
"PPAPI_TEST_IMPLEMENTATION",
]
ldflags = [ "-pthread" ]
deps = [
"//build/config/nacl:nacl_base",
"//ppapi/native_client:ppapi_lib",
]
if (is_nacl_glibc) {
deps += [ ":ppapi_cpp_lib_shared" ]
} else {
deps += [ ":ppapi_cpp_lib" ]
}
}
copy("nacl_tests_copy") {
sources = [
"${root_out_dir}/ppapi_nacl_tests.nexe",
]
if (is_nacl_glibc) {
suffix = "glibc"
} else {
suffix = "newlib"
}
# The CPU names used in tests/ppapi_nacl_tests_newlib.nmf
# are the ones used in GYP (x32 for x86).
if (target_cpu == "x86") {
nmf_cpu = "x32"
} else {
nmf_cpu = target_cpu
}
outputs = [
"${root_build_dir}/{{source_name_part}}_${suffix}_${nmf_cpu}.nexe",
]
deps = [
":ppapi_nacl_tests",
]
}
action("generate_nmf") {
nacl_toolchain_dir = rebase_path("//native_client/toolchain")
os_toolchain_dir = "${nacl_toolchain_dir}/${host_os}_x86"
if (is_nacl_glibc) {
toolchain_dir = "${os_toolchain_dir}/nacl_x86_glibc"
nmf = "${root_build_dir}/ppapi_nacl_tests_glibc.nmf"
} else {
toolchain_dir = "${os_toolchain_dir}/nacl_x86_newlib"
nmf = "${root_build_dir}/ppapi_nacl_tests_newlib.nmf"
}
script = "//native_client_sdk/src/tools/create_nmf.py"
sources = get_target_outputs(":nacl_tests_copy")
outputs = [
nmf,
]
nmf_flags = []
if (is_nacl_glibc) {
nmf_flags += [ "--library-path=" + rebase_path(root_out_dir) ]
if (current_cpu == "x86") {
nmf_flags += [ "--library-path=" +
rebase_path("${toolchain_dir}/x86_64-nacl/lib32",
root_build_dir) ]
data = [
"$root_build_dir/lib32/",
]
}
if (target_cpu == "x64" || (target_cpu == "x86" && is_win)) {
nmf_flags += [ "--library-path=" +
rebase_path("${toolchain_dir}/x86_64-nacl/lib",
root_build_dir) ]
data = [
"$root_build_dir/lib64/",
]
}
}
args = [
"--no-default-libpath",
"--objdump=${toolchain_dir}/bin/x86_64-nacl-objdump",
"--output=" + rebase_path(nmf, root_build_dir),
"--stage-dependencies=" + rebase_path(root_build_dir),
] + nmf_flags + rebase_path(sources, root_build_dir)
deps = [
":nacl_tests_copy",
]
data_deps = [
":nacl_tests_copy",
]
}
}
group("ppapi_nacl_tests_all") {
data_deps = []
if (target_cpu == "x86" || target_cpu == "x64") {
data_deps += [
":copy_test_files",
":nacl_tests_copy(//build/toolchain/nacl:clang_newlib_${target_cpu})",
":generate_nmf(//build/toolchain/nacl:glibc_${target_cpu})",
]
}
}
}