blob: 51863a2a0c6d99c6e9e6dd7dfda60f797b033b3b [file] [log] [blame]
# 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",
]
}
# GYP: //base/base.gyp:test_support_base
static_library("test_support") {
testonly = true
sources = [
"../trace_event/trace_config_memory_test_util.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",
"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_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.h",
"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_command_line.cc",
"scoped_command_line.h",
"scoped_locale.cc",
"scoped_locale.h",
"scoped_path_override.cc",
"scoped_path_override.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",
"multiprocess_test.cc",
"multiprocess_test_android.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) {
deps += [ ":base_unittests_jni_headers" ]
}
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",
"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",
]
}
if (is_linux) {
shared_library("malloc_wrapper") {
testonly = true
sources = [
"malloc_wrapper.cc",
]
deps = [
"//base",
"//build/config/sanitizers: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/TestUiThread.java",
]
jni_package = "base"
}
}