# 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" } outputs = [ "${root_build_dir}/{{source_name_part}}_${suffix}_${target_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})", ] } } }