Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(287)

Unified Diff: ios/third_party/earl_grey/eg_test.gni

Issue 2173493002: Convert ios_web_shell_test to GN. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@eg-tests-deps
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ios/third_party/earl_grey/eg_test.gni
diff --git a/ios/third_party/earl_grey/eg_test.gni b/ios/third_party/earl_grey/eg_test.gni
new file mode 100644
index 0000000000000000000000000000000000000000..b3040e76dc825ecfc5b07e188c241d00633afdba
--- /dev/null
+++ b/ios/third_party/earl_grey/eg_test.gni
@@ -0,0 +1,147 @@
+# Copyright 2016 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/ios/rules.gni")
+
+# For Chrome on iOS we want to run EarlGrey tests (that are XCTests) for all
+# our build configurations (Debug, Release, ...). In addition, the symbols
+# visibility is configured to private by default. To simplify testing with
+# those constraints, our tests are compiled in the TEST_HOST target instead
+# of the .xctest bundle.
+template("ios_eg_test") {
+ _target_name = target_name
+ _output_name = target_name
+ if (defined(invoker.output_name)) {
+ _output_name = invoker.output_name
+ }
+
+ _xctest_target = _target_name
+ _xctest_output = _output_name
+ _xctest_bundle = _xctest_target + "_bundle"
+ _xctest_config = _xctest_target + "_config"
+
+ config(_xctest_config) {
+ common_flags = [
+ "-F",
+ "$ios_sdk_platform_path/Developer/Library/Frameworks",
+ ]
+
+ cflags = common_flags
+ ldflags = common_flags
+
+ libs = [
+ "Foundation.framework",
+ "XCTest.framework",
+ ]
+ }
+
+ _xctest_info_plist_target = _xctest_target + "_info_plist"
+ _xctest_info_plist_bundle = _xctest_target + "_info_plist_bundle"
+ ios_info_plist(_xctest_info_plist_target) {
+ visibility = [ ":$_xctest_info_plist_bundle" ]
+ info_plist = "//ios/third_party/earl_grey/Module-Info.plist"
+ executable_name = _output_name
+ }
+
+ bundle_data(_xctest_info_plist_bundle) {
+ visibility = [ ":$_xctest_target" ]
+ public_deps = [
+ ":$_xctest_info_plist_target",
+ ]
+ sources = get_target_outputs(":$_xctest_info_plist_target")
+ outputs = [
+ "{{bundle_root_dir}}/Info.plist",
+ ]
+ }
+
+ _xctest_loadable_module_target = _xctest_target + "_loadable_module"
+ _xctest_loadable_module_bundle = _xctest_target + "_loadable_module_bundle"
+ loadable_module(_xctest_loadable_module_target) {
+ visibility = [ ":$_xctest_loadable_module_bundle" ]
+ sources = [
+ "//ios/third_party/earl_grey/xctest_shell.mm",
+ ]
+ configs += [ ":$_xctest_config" ]
+
+ output_name = rebase_path("$target_out_dir/$_xctest_output", root_out_dir)
+ output_prefix_override = true
+ output_extension = ""
+ }
+
+ bundle_data(_xctest_loadable_module_bundle) {
+ visibility = [ ":$_xctest_target" ]
+ public_deps = [
+ ":$_xctest_loadable_module_target",
+ ]
+ sources = [
+ "$target_out_dir/$_xctest_output",
+ ]
+ outputs = [
+ "{{bundle_root_dir}}/$_xctest_output",
+ ]
+ }
+
+ create_bundle(_xctest_target) {
+ visibility = [ ":$_xctest_bundle" ]
+ product_type = "com.apple.product-type.bundle.unit-test"
+ deps = [
+ ":$_xctest_info_plist_bundle",
+ ":$_xctest_loadable_module_bundle",
+ ]
+ bundle_root_dir = "$root_out_dir/$_xctest_output.xctest"
+ }
+
+ _host_target = _target_name + "_host"
+ _host_output = _output_name + "_host"
+
+ bundle_data(_xctest_bundle) {
+ visibility = [ ":$_host_target" ]
+ public_deps = [
+ ":$_xctest_target",
+ ]
+ sources = [
+ "$root_out_dir/$_xctest_output.xctest",
+ ]
+ outputs = [
+ "{{bundle_plugins_dir}}/$_xctest_output.xctest",
+ ]
+ }
+
+ ios_app_bundle(_host_target) {
+ forward_variables_from(invoker, "*", [ "testonly" ])
+
+ testonly = true
+ output_name = _host_output
+ info_plist = "//ios/third_party/earl_grey/Host-Info.plist"
+ configs += [ ":$_xctest_config" ]
+
+ if (!defined(bundle_deps)) {
+ bundle_deps = []
+ }
+ bundle_deps += [
+ ":$_xctest_bundle",
+ "//ios/third_party/earl_grey:xctest_bundle",
+ "//ios/third_party/earl_grey:earl_grey+bundle",
+ "//ios/third_party/ochamcrest:ochamcrest+bundle",
+ ]
+
+ if (!defined(ldflags)) {
+ ldflags = []
+ }
+ ldflags += [
+ "-Xlinker",
+ "-rpath",
+ "-Xlinker",
+ "@executable_path/Frameworks",
+ "-Xlinker",
+ "-rpath",
+ "-Xlinker",
+ "@loader_path/Frameworks",
+ ]
+ }
+}
+
+set_defaults("ios_eg_test") {
+ configs = default_executable_configs
+}

Powered by Google App Engine
This is Rietveld 408576698