| # Copyright 2021 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/ios/ios_test_runner_wrapper.gni") |
| import("//build/config/ios/rules.gni") |
| |
| # ios_test_runner_xcuitest are just ios_xcuitest_test with an |
| # ios_test_runner_wrapper. Currently used by Crashpad tests, which do not depend |
| # on EG2 (and therefore do not use ios_eg2_test) |
| template("ios_test_runner_xcuitest") { |
| assert(defined(invoker.xcode_test_application_name), |
| "xcode_test_application_name must be defined for $target_name") |
| assert( |
| defined(invoker.deps), |
| "deps must be defined for $target_name to include at least one xctest" + |
| "file.") |
| |
| _target_name = target_name |
| _test_target = "${target_name}_test" |
| ios_xcuitest_test(_test_target) { |
| forward_variables_from(invoker, |
| [ |
| "xcode_test_application_name", |
| "xctest_bundle_principal_class", |
| "bundle_deps", |
| "deps", |
| "data_deps", |
| ]) |
| |
| # TODO(crbug.com/1056328) Because we change the target name, the subnodes |
| # are going to append with the _test in the naming, which won't be backwards |
| # compatible during migration from iOS recipe to Chromium. |
| output_name = "${_target_name}" |
| } |
| |
| ios_test_runner_wrapper(target_name) { |
| forward_variables_from(invoker, |
| [ |
| "data", |
| "data_deps", |
| "deps", |
| "executable_args", |
| "retries", |
| "shards", |
| "xcode_test_application_name", |
| ]) |
| _root_build_dir = rebase_path("${root_build_dir}", root_build_dir) |
| |
| if (!defined(data_deps)) { |
| data_deps = [] |
| } |
| |
| # Include the top ios_test_runner_xcuitest target, and the host app |
| data_deps += [ ":${_test_target}" ] |
| |
| if (!defined(executable_args)) { |
| executable_args = [] |
| } |
| |
| # The xcuitest module is bundled as *-Runner.app, while the host app is |
| # bundled as *.app. |
| executable_args += [ |
| "--app", |
| "@WrappedPath(${_root_build_dir}/${target_name}-Runner.app)", |
| ] |
| executable_args += [ |
| "--host-app", |
| "@WrappedPath(${_root_build_dir}/${xcode_test_application_name}.app)", |
| ] |
| } |
| } |