| Index: testing/test.gni
|
| diff --git a/testing/test.gni b/testing/test.gni
|
| index 535a74910137b3cd8d927a8cf56c269832bf77d2..b6677d45fc46d62ab61b6e78be6b66f5ddab9a5f 100644
|
| --- a/testing/test.gni
|
| +++ b/testing/test.gni
|
| @@ -6,59 +6,6 @@
|
| # TEST SETUP
|
| # ==============================================================================
|
|
|
| -template("_gen_isolate") {
|
| - testonly = true
|
| - _runtime_deps_file = "$target_gen_dir/$target_name.runtime_deps"
|
| - group("${target_name}__write_deps") {
|
| - forward_variables_from(invoker,
|
| - [
|
| - "data",
|
| - "data_deps",
|
| - "deps",
|
| - "public_deps",
|
| - ])
|
| - write_runtime_deps = _runtime_deps_file
|
| - }
|
| -
|
| - action(target_name) {
|
| - script = "//testing/generate_isolate.py"
|
| - inputs = [
|
| - _runtime_deps_file,
|
| - ]
|
| - outputs = [
|
| - invoker.output,
|
| - ]
|
| - args = [
|
| - "--output-directory=.",
|
| - "--out-file",
|
| - rebase_path(invoker.output, root_build_dir),
|
| - "--runtime-deps-file",
|
| - rebase_path(_runtime_deps_file, root_build_dir),
|
| - ]
|
| - if (is_android) {
|
| - args += [ "--apply-android-filters" ]
|
| - }
|
| - if (defined(invoker.apply_device_filters) && invoker.apply_device_filters) {
|
| - args += [ "--apply-device-filters" ]
|
| - }
|
| - _assert_no_odd_data =
|
| - defined(invoker.assert_no_odd_data) && invoker.assert_no_odd_data
|
| - if (_assert_no_odd_data) {
|
| - args += [ "--assert-no-odd-data" ]
|
| - }
|
| - if (defined(invoker.command)) {
|
| - _isolate_dir = get_path_info(invoker.output, "dir")
|
| - args += [
|
| - "--command",
|
| - rebase_path(invoker.command, _isolate_dir),
|
| - ]
|
| - }
|
| - deps = [
|
| - ":${invoker.target_name}__write_deps",
|
| - ]
|
| - }
|
| -}
|
| -
|
| # Define a test as an executable (or apk on Android) with the "testonly" flag
|
| # set.
|
| # Variable:
|
| @@ -81,36 +28,10 @@ template("test") {
|
| }
|
|
|
| _test_runner_target = "${_output_name}__test_runner_script"
|
| - _wrapper_script_vars = [ "shard_timeout" ]
|
| - _gen_isolate_vars = [
|
| - "allow_odd_runtime_deps",
|
| + _wrapper_script_vars = [
|
| "ignore_all_data_deps",
|
| + "shard_timeout",
|
| ]
|
| - _generate_device_isolate =
|
| - !defined(invoker.ignore_all_data_deps) || !invoker.ignore_all_data_deps
|
| -
|
| - if (_generate_device_isolate) {
|
| - _allow_odd_runtime_deps = defined(invoker.allow_odd_runtime_deps) &&
|
| - invoker.allow_odd_runtime_deps
|
| -
|
| - # The device isolate is needed at runtime, so it cannot go in
|
| - # target_gen_dir, as builder/tester configurations do not include it.
|
| - _target_dir_name = get_label_info(":$target_name", "dir")
|
| - _device_isolate_path = "$root_out_dir/gen.runtime/$_target_dir_name/$target_name.device.isolate"
|
| - _gen_isolate_target_name = "${target_name}__isolate"
|
| - _gen_isolate(_gen_isolate_target_name) {
|
| - forward_variables_from(invoker,
|
| - [
|
| - "data",
|
| - "data_deps",
|
| - "deps",
|
| - "public_deps",
|
| - ])
|
| - assert_no_odd_data = !_allow_odd_runtime_deps
|
| - output = _device_isolate_path
|
| - apply_device_filters = true
|
| - }
|
| - }
|
|
|
| assert(_use_raw_android_executable || enable_java_templates)
|
|
|
| @@ -124,10 +45,9 @@ template("test") {
|
| # Configs will always be defined since we set_defaults in BUILDCONFIG.gn.
|
| configs = []
|
| data_deps = []
|
| - forward_variables_from(
|
| - invoker,
|
| - "*",
|
| - _wrapper_script_vars + _gen_isolate_vars + [ "extra_dist_files" ])
|
| + forward_variables_from(invoker,
|
| + "*",
|
| + _wrapper_script_vars + [ "extra_dist_files" ])
|
| testonly = true
|
|
|
| # Thanks to the set_defaults() for test(), configs are initialized with
|
| @@ -161,6 +81,7 @@ template("test") {
|
| _apk_target = "${target_name}_apk"
|
| _apk_specific_vars = [
|
| "android_manifest",
|
| + "android_manifest_dep",
|
| "enable_multidex",
|
| "proguard_configs",
|
| "proguard_enabled",
|
| @@ -175,10 +96,10 @@ template("test") {
|
| testonly = true
|
|
|
| deps = []
|
| - forward_variables_from(invoker,
|
| - "*",
|
| - _apk_specific_vars + _wrapper_script_vars +
|
| - _gen_isolate_vars + [ "visibility" ])
|
| + forward_variables_from(
|
| + invoker,
|
| + "*",
|
| + _apk_specific_vars + _wrapper_script_vars + [ "visibility" ])
|
|
|
| if (!defined(invoker.use_default_launcher) ||
|
| invoker.use_default_launcher) {
|
| @@ -187,14 +108,12 @@ template("test") {
|
| }
|
| unittest_apk(_apk_target) {
|
| forward_variables_from(invoker, _apk_specific_vars + [ "deps" ])
|
| - unittests_dep = ":$_library_target"
|
| + shared_library = ":$_library_target"
|
| apk_name = invoker.target_name
|
| if (defined(invoker.output_name)) {
|
| apk_name = invoker.output_name
|
| - unittests_binary = "lib${apk_name}.so"
|
| install_script_name = "install_${invoker.output_name}"
|
| }
|
| - deps += [ ":$_library_target" ]
|
|
|
| # TODO(agrieve): Remove this data_dep once bots don't build the _apk
|
| # target (post-GYP).
|
| @@ -211,13 +130,13 @@ template("test") {
|
| _incremental_test_runner_target =
|
| "${_output_name}_incremental__test_runner_script"
|
| test_runner_script(_incremental_test_runner_target) {
|
| - forward_variables_from(invoker, _wrapper_script_vars)
|
| - if (_generate_device_isolate) {
|
| - isolate_file = _device_isolate_path
|
| - deps = [
|
| - ":$_gen_isolate_target_name",
|
| - ]
|
| - }
|
| + forward_variables_from(invoker,
|
| + _wrapper_script_vars + [
|
| + "data",
|
| + "data_deps",
|
| + "deps",
|
| + "public_deps",
|
| + ])
|
| apk_target = ":$_apk_target"
|
| test_name = "${_output_name}_incremental"
|
| test_type = "gtest"
|
| @@ -237,13 +156,13 @@ template("test") {
|
|
|
| _test_runner_target = "${_output_name}__test_runner_script"
|
| test_runner_script(_test_runner_target) {
|
| - forward_variables_from(invoker, _wrapper_script_vars)
|
| - if (_generate_device_isolate) {
|
| - isolate_file = _device_isolate_path
|
| - deps = [
|
| - ":$_gen_isolate_target_name",
|
| - ]
|
| - }
|
| + forward_variables_from(invoker,
|
| + _wrapper_script_vars + [
|
| + "data",
|
| + "data_deps",
|
| + "deps",
|
| + "public_deps",
|
| + ])
|
|
|
| if (_use_raw_android_executable) {
|
| executable_dist_dir = "$root_out_dir/$_dist_target"
|
| @@ -282,10 +201,7 @@ template("test") {
|
| _resources_bundle_data = target_name + "_resources_bundle_data"
|
|
|
| bundle_data(_resources_bundle_data) {
|
| - visibility = [
|
| - ":${_test_target}",
|
| - ":${_test_target}_generate_executable",
|
| - ]
|
| + visibility = [ ":$_test_target" ]
|
| sources = [
|
| "//testing/gtest_ios/Default.png",
|
| ]
|
| @@ -306,36 +222,30 @@ template("test") {
|
| if (!defined(info_plist) && !defined(info_plist_target)) {
|
| info_plist = "//testing/gtest_ios/unittest-Info.plist"
|
| }
|
| - if (!defined(entitlements_path)) {
|
| - entitlements_path = "//testing/gtest_ios"
|
| - }
|
| - if (!defined(code_signing_identity)) {
|
| - code_signing_identity = ""
|
| - }
|
|
|
| - # TODO(crbug.com/603102): remove this once gyp support is dropped and all
|
| - # application uses the target name as value for BUNDLE_ID_TEST_NAME.
|
| - if (defined(invoker.app_name)) {
|
| - app_name = invoker.app_name
|
| - } else {
|
| - app_name = target_name
|
| + _bundle_id_suffix = target_name
|
| + if (ios_automatically_manage_certs) {
|
| + # Use the same bundle identifier for all unit tests when managing
|
| + # certificates automatically as the number of free certs is limited.
|
| + _bundle_id_suffix = "generic-unit-test"
|
| }
|
| -
|
| if (!defined(extra_substitutions)) {
|
| extra_substitutions = []
|
| }
|
| - extra_substitutions += [ "BUNDLE_ID_TEST_NAME=$app_name" ]
|
| + extra_substitutions += [ "GTEST_BUNDLE_ID_SUFFIX=$_bundle_id_suffix" ]
|
|
|
| if (!defined(deps)) {
|
| deps = []
|
| }
|
| deps += [
|
| - ":$_resources_bundle_data",
|
| -
|
| # All shared libraries must have the sanitizer deps to properly link in
|
| # asan mode (this target will be empty in other cases).
|
| "//build/config/sanitizers:deps",
|
| ]
|
| + if (!defined(bundle_deps)) {
|
| + bundle_deps = []
|
| + }
|
| + bundle_deps += [ ":$_resources_bundle_data" ]
|
| }
|
| } else {
|
| executable(target_name) {
|
|
|