| # Copyright (c) 2013 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("//build/config/ui.gni") |
| import("//build/config/nacl/config.gni") |
| |
| if (is_android) { |
| import("//build/config/android/rules.gni") |
| } |
| |
| static_library("test_config") { |
| testonly = true |
| sources = [ |
| "test_switches.cc", |
| "test_switches.h", |
| "test_timeouts.cc", |
| "test_timeouts.h", |
| ] |
| deps = [ |
| "//base", |
| ] |
| } |
| |
| static_library("test_support") { |
| testonly = true |
| sources = [ |
| "../trace_event/trace_config_memory_test_util.h", |
| "android/java_handler_thread_for_testing.cc", |
| "android/java_handler_thread_for_testing.h", |
| "android/test_system_message_handler_link_android.cc", |
| "android/test_system_message_handler_link_android.h", |
| "fuzzed_data_provider.cc", |
| "fuzzed_data_provider.h", |
| "gtest_util.cc", |
| "gtest_util.h", |
| "gtest_xml_unittest_result_printer.cc", |
| "gtest_xml_unittest_result_printer.h", |
| "gtest_xml_util.cc", |
| "gtest_xml_util.h", |
| "histogram_tester.cc", |
| "histogram_tester.h", |
| "icu_test_util.cc", |
| "icu_test_util.h", |
| "ios/wait_util.h", |
| "ios/wait_util.mm", |
| "launcher/test_result.cc", |
| "launcher/test_result.h", |
| "launcher/test_results_tracker.h", |
| "launcher/unit_test_launcher.h", |
| "mock_callback.h", |
| "mock_chrome_application_mac.h", |
| "mock_chrome_application_mac.mm", |
| "mock_devices_changed_observer.cc", |
| "mock_devices_changed_observer.h", |
| "mock_entropy_provider.cc", |
| "mock_entropy_provider.h", |
| "mock_log.cc", |
| "mock_log.h", |
| "multiprocess_test.cc", |
| "multiprocess_test.h", |
| "multiprocess_test_android.cc", |
| "null_task_runner.cc", |
| "null_task_runner.h", |
| "opaque_ref_counted.cc", |
| "opaque_ref_counted.h", |
| "perf_log.cc", |
| "perf_log.h", |
| "perf_test_suite.cc", |
| "perf_test_suite.h", |
| "perf_time_logger.cc", |
| "perf_time_logger.h", |
| "power_monitor_test_base.cc", |
| "power_monitor_test_base.h", |
| "scoped_async_task_scheduler.cc", |
| "scoped_async_task_scheduler.h", |
| "scoped_command_line.cc", |
| "scoped_command_line.h", |
| "scoped_environment_variable_override.cc", |
| "scoped_environment_variable_override.h", |
| "scoped_feature_list.cc", |
| "scoped_feature_list.h", |
| "scoped_locale.cc", |
| "scoped_locale.h", |
| "scoped_mock_time_message_loop_task_runner.cc", |
| "scoped_mock_time_message_loop_task_runner.h", |
| "scoped_path_override.cc", |
| "scoped_path_override.h", |
| "scoped_task_environment.cc", |
| "scoped_task_environment.h", |
| "scoped_task_scheduler.cc", |
| "scoped_task_scheduler.h", |
| "sequenced_task_runner_test_template.cc", |
| "sequenced_task_runner_test_template.h", |
| "sequenced_worker_pool_owner.cc", |
| "sequenced_worker_pool_owner.h", |
| "simple_test_clock.cc", |
| "simple_test_clock.h", |
| "simple_test_tick_clock.cc", |
| "simple_test_tick_clock.h", |
| "task_runner_test_template.cc", |
| "task_runner_test_template.h", |
| "test_discardable_memory_allocator.cc", |
| "test_discardable_memory_allocator.h", |
| "test_file_util.cc", |
| "test_file_util.h", |
| "test_file_util_android.cc", |
| "test_file_util_linux.cc", |
| "test_file_util_mac.cc", |
| "test_file_util_posix.cc", |
| "test_file_util_win.cc", |
| "test_io_thread.cc", |
| "test_io_thread.h", |
| "test_listener_ios.h", |
| "test_listener_ios.mm", |
| "test_message_loop.cc", |
| "test_message_loop.h", |
| "test_mock_time_task_runner.cc", |
| "test_mock_time_task_runner.h", |
| "test_pending_task.cc", |
| "test_pending_task.h", |
| "test_reg_util_win.cc", |
| "test_reg_util_win.h", |
| "test_shortcut_win.cc", |
| "test_shortcut_win.h", |
| "test_simple_task_runner.cc", |
| "test_simple_task_runner.h", |
| "test_suite.cc", |
| "test_suite.h", |
| "test_support_android.cc", |
| "test_support_android.h", |
| "test_support_ios.h", |
| "test_support_ios.mm", |
| "test_ui_thread_android.cc", |
| "test_ui_thread_android.h", |
| "thread_test_helper.cc", |
| "thread_test_helper.h", |
| "trace_event_analyzer.cc", |
| "trace_event_analyzer.h", |
| "trace_to_file.cc", |
| "trace_to_file.h", |
| "user_action_tester.cc", |
| "user_action_tester.h", |
| "values_test_util.cc", |
| "values_test_util.h", |
| ] |
| |
| if (is_ios) { |
| sources += [ "launcher/unit_test_launcher_ios.cc" ] |
| } else if (!is_nacl_nonsfi) { |
| sources += [ |
| "launcher/test_launcher.cc", |
| "launcher/test_launcher.h", |
| "launcher/test_launcher_tracer.cc", |
| "launcher/test_launcher_tracer.h", |
| "launcher/test_results_tracker.cc", |
| "launcher/unit_test_launcher.cc", |
| ] |
| } |
| |
| configs += [ "//build/config:precompiled_headers" ] |
| |
| data = [ |
| # The isolate needs this script for setting up the test. It's not actually |
| # needed to run this target locally. |
| "//testing/test_env.py", |
| ] |
| |
| public_deps = [ |
| ":test_config", |
| "//base", |
| "//base:base_static", |
| "//base:i18n", |
| ] |
| deps = [ |
| "//base/third_party/dynamic_annotations", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/icu:icuuc", |
| "//third_party/libxml", |
| ] |
| |
| if (!is_posix) { |
| sources -= [ |
| "scoped_locale.cc", |
| "scoped_locale.h", |
| ] |
| } |
| |
| if (is_ios) { |
| set_sources_assignment_filter([]) |
| sources += [ "test_file_util_mac.cc" ] |
| set_sources_assignment_filter(sources_assignment_filter) |
| } |
| |
| if (is_mac) { |
| libs = [ "AppKit.framework" ] |
| } |
| |
| if (is_android) { |
| set_sources_assignment_filter([]) |
| sources += [ "test_file_util_linux.cc" ] |
| set_sources_assignment_filter(sources_assignment_filter) |
| deps += [ |
| ":base_unittests_jni_headers", |
| ":test_support_jni_headers", |
| ] |
| public_deps += [ ":test_support_java" ] |
| } |
| |
| if (is_nacl_nonsfi) { |
| sources += [ |
| "launcher/test_launcher.h", |
| "launcher/test_result.h", |
| "launcher/unit_test_launcher.h", |
| "launcher/unit_test_launcher_nacl_nonsfi.cc", |
| ] |
| sources -= [ |
| "gtest_xml_util.cc", |
| "gtest_xml_util.h", |
| "icu_test_util.cc", |
| "icu_test_util.h", |
| "perf_test_suite.cc", |
| "perf_test_suite.h", |
| "scoped_path_override.cc", |
| "scoped_path_override.h", |
| "test_discardable_memory_allocator.cc", |
| "test_discardable_memory_allocator.h", |
| "test_file_util.cc", |
| "test_file_util.h", |
| "test_file_util_posix.cc", |
| "test_suite.cc", |
| "test_suite.h", |
| "trace_to_file.cc", |
| "trace_to_file.h", |
| ] |
| public_deps -= [ "//base:i18n" ] |
| deps -= [ |
| "//third_party/icu:icuuc", |
| "//third_party/libxml", |
| ] |
| } |
| } |
| |
| config("perf_test_config") { |
| defines = [ "PERF_TEST" ] |
| } |
| |
| # This is a source set instead of a static library because it seems like some |
| # linkers get confused when "main" is in a static library, and if you link to |
| # this, you always want the object file anyway. |
| source_set("test_support_perf") { |
| testonly = true |
| sources = [ |
| "run_all_perftests.cc", |
| ] |
| deps = [ |
| ":test_support", |
| "//base", |
| "//testing/gtest", |
| ] |
| |
| public_configs = [ ":perf_test_config" ] |
| } |
| |
| static_library("test_launcher_nacl_nonsfi") { |
| testonly = true |
| sources = [ |
| "launcher/test_launcher_nacl_nonsfi.cc", |
| "launcher/test_launcher_nacl_nonsfi.h", |
| ] |
| deps = [ |
| ":test_support", |
| ] |
| } |
| |
| static_library("run_all_unittests") { |
| testonly = true |
| sources = [ |
| "run_all_unittests.cc", |
| ] |
| deps = [ |
| ":test_support", |
| ] |
| } |
| |
| # These sources are linked into both the base_unittests binary and the test |
| # shared library target below. |
| source_set("native_library_test_utils") { |
| testonly = true |
| sources = [ |
| "native_library_test_utils.cc", |
| "native_library_test_utils.h", |
| ] |
| } |
| |
| # This shared library is dynamically loaded by NativeLibrary unittests. |
| shared_library("test_shared_library") { |
| testonly = true |
| sources = [ |
| "test_shared_library.cc", |
| ] |
| |
| deps = [ |
| ":native_library_test_utils", |
| ] |
| } |
| |
| static_library("run_all_base_unittests") { |
| # Only targets in base should depend on this, targets outside base |
| # should depend on run_all_unittests above. |
| visibility = [ "//base/*" ] |
| testonly = true |
| sources = [ |
| "run_all_base_unittests.cc", |
| ] |
| deps = [ |
| ":test_support", |
| ] |
| } |
| |
| if (is_linux) { |
| shared_library("malloc_wrapper") { |
| testonly = true |
| sources = [ |
| "malloc_wrapper.cc", |
| ] |
| deps = [ |
| "//base", |
| "//build/config:exe_and_shlib_deps", |
| ] |
| } |
| } |
| |
| if (is_android) { |
| generate_jni("base_unittests_jni_headers") { |
| sources = [ |
| "android/java/src/org/chromium/base/ContentUriTestUtils.java", |
| "android/java/src/org/chromium/base/JavaHandlerThreadTest.java", |
| "android/java/src/org/chromium/base/TestSystemMessageHandler.java", |
| "android/java/src/org/chromium/base/TestUiThread.java", |
| ] |
| jni_package = "base" |
| } |
| |
| generate_jni("test_support_jni_headers") { |
| sources = [ |
| "android/java/src/org/chromium/base/MainReturnCodeResult.java", |
| "android/java/src/org/chromium/base/MultiprocessTestClientLauncher.java", |
| ] |
| jni_package = "base" |
| } |
| |
| android_library("test_support_java") { |
| testonly = true |
| deps = [ |
| "//base:base_java", |
| "//testing/android/native_test:native_main_runner_java", |
| "//third_party/android_tools:android_support_annotations_java", |
| "//third_party/jsr-305:jsr_305_javalib", |
| ] |
| srcjar_deps = [ ":test_support_java_aidl" ] |
| java_files = [ |
| "android/java/src/org/chromium/base/MainReturnCodeResult.java", |
| "android/java/src/org/chromium/base/MultiprocessTestClientLauncher.java", |
| "android/java/src/org/chromium/base/MultiprocessTestClientService.java", |
| "android/java/src/org/chromium/base/MultiprocessTestClientService0.java", |
| "android/java/src/org/chromium/base/MultiprocessTestClientService1.java", |
| "android/java/src/org/chromium/base/MultiprocessTestClientService2.java", |
| "android/java/src/org/chromium/base/MultiprocessTestClientService3.java", |
| "android/java/src/org/chromium/base/MultiprocessTestClientService4.java", |
| "android/java/src/org/chromium/base/MultiprocessTestClientServiceDelegate.java", |
| ] |
| } |
| |
| android_aidl("test_support_java_aidl") { |
| testonly = true |
| import_include = [ |
| "android/java/src", |
| "//base/android/java/src", |
| ] |
| sources = [ |
| "android/java/src/org/chromium/base/ITestCallback.aidl", |
| "android/java/src/org/chromium/base/ITestController.aidl", |
| ] |
| } |
| } |