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

Side by Side Diff: net/BUILD.gn

Issue 311193004: Add net_unittests to the GN build. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review comments Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//build/config/crypto.gni") 5 import("//build/config/crypto.gni")
6 import("//build/config/features.gni") 6 import("//build/config/features.gni")
7 import("//build/config/ui.gni") 7 import("//build/config/ui.gni")
8 import("//tools/grit/grit_rule.gni") 8 import("//tools/grit/grit_rule.gni")
9 import("//url/config.gni")
9 10
10 if (is_android) { 11 if (is_android) {
11 import("//build/config/android/config.gni") 12 import("//build/config/android/config.gni")
12 import("//build/config/android/rules.gni") 13 import("//build/config/android/rules.gni")
13 } else if (is_mac) { 14 } else if (is_mac) {
14 import("//build/config/mac/mac_sdk.gni") 15 import("//build/config/mac/mac_sdk.gni")
15 } 16 }
16 17
17 import("//url/config.gni")
18
19 # The list of net files is kept in net.gypi. Read it. 18 # The list of net files is kept in net.gypi. Read it.
20 gypi_values = exec_script( 19 gypi_values = exec_script(
21 "//build/gypi_to_gn.py", 20 "//build/gypi_to_gn.py",
22 [ rebase_path("net.gypi") ], 21 [ rebase_path("net.gypi") ],
23 "scope", 22 "scope",
24 [ "net.gypi" ]) 23 [ "net.gypi" ])
25 24
26 # Disable Kerberos on ChromeOS, Android and iOS, at least for now. It needs 25 # Disable Kerberos on ChromeOS, Android and iOS, at least for now. It needs
27 # configuration (krb5.conf and so on). 26 # configuration (krb5.conf and so on).
28 use_kerberos = !is_chromeos && !is_android && !is_ios 27 use_kerberos = !is_chromeos && !is_android && !is_ios
29 28
30 # The way the cache uses mmap() is inefficient on some Android devices. If 29 # The way the cache uses mmap() is inefficient on some Android devices. If
31 # this flag is set, we hackily avoid using mmap() in the disk cache. We are 30 # this flag is set, we hackily avoid using mmap() in the disk cache. We are
32 # pretty confident that mmap-ing the index would not hurt any existing x86 31 # pretty confident that mmap-ing the index would not hurt any existing x86
33 # android devices, but we cannot be so sure about the variety of ARM devices. 32 # android devices, but we cannot be so sure about the variety of ARM devices.
34 # So enable it for x86 only for now. 33 # So enable it for x86 only for now.
35 posix_avoid_mmap = is_android && cpu_arch != "x86" 34 posix_avoid_mmap = is_android && cpu_arch != "x86"
36 35
37 # WebSockets and socket stream code are used everywhere except iOS. 36 # WebSockets and socket stream code are used everywhere except iOS.
38 enable_websockets = !is_ios 37 enable_websockets = !is_ios
39 # TODO(brettw) put back to "!is_ios" when v8 is supported in GN build. 38 use_v8_in_net = !is_ios
40 use_v8_in_net = false # TODO(brettw)!is_ios
41 enable_built_in_dns = !is_ios 39 enable_built_in_dns = !is_ios
40 disable_ftp_support = is_ios
42 41
43 declare_args() { 42 declare_args() {
44 # Disables support for file URLs. File URL support requires use of icu. 43 # Disables support for file URLs. File URL support requires use of icu.
45 disable_file_support = false 44 disable_file_support = false
46 } 45 }
47 46
48 enable_ftp_support = !is_ios
49
50 config("net_config") { 47 config("net_config") {
51 defines = [] 48 defines = []
52 if (posix_avoid_mmap) { 49 if (posix_avoid_mmap) {
53 defines += [ "POSIX_AVOID_MMAP" ] 50 defines += [ "POSIX_AVOID_MMAP" ]
54 } 51 }
55 if (disable_file_support) { 52 if (disable_file_support) {
56 defines += [ "DISABLE_FILE_SUPPORT" ] 53 defines += [ "DISABLE_FILE_SUPPORT" ]
57 } 54 }
58 } 55 }
59 56
(...skipping 24 matching lines...) Expand all
84 direct_dependent_configs = [ ":net_config" ] 81 direct_dependent_configs = [ ":net_config" ]
85 include_dirs = [] 82 include_dirs = []
86 83
87 deps = [ 84 deps = [
88 ":net_resources", 85 ":net_resources",
89 "//base", 86 "//base",
90 "//base:i18n", 87 "//base:i18n",
91 "//base/third_party/dynamic_annotations", 88 "//base/third_party/dynamic_annotations",
92 "//crypto", 89 "//crypto",
93 "//crypto:platform", 90 "//crypto:platform",
94 "//net/base/registry_controlled_domains:registry_controlled_domains", 91 "//net/base/registry_controlled_domains",
95 "//sdch", 92 "//sdch",
96 "//third_party/icu", 93 "//third_party/icu",
97 "//third_party/zlib", 94 "//third_party/zlib",
98 "//url", 95 "//url",
99 ] 96 ]
100 forward_dependent_configs_from = [ 97 forward_dependent_configs_from = [
101 "//crypto", 98 "//crypto",
102 "//crypto:platform" 99 "//crypto:platform"
103 ] 100 ]
104 101
(...skipping 25 matching lines...) Expand all
130 "base/directory_lister.h", 127 "base/directory_lister.h",
131 "url_request/url_request_file_dir_job.cc", 128 "url_request/url_request_file_dir_job.cc",
132 "url_request/url_request_file_dir_job.h", 129 "url_request/url_request_file_dir_job.h",
133 "url_request/url_request_file_job.cc", 130 "url_request/url_request_file_job.cc",
134 "url_request/url_request_file_job.h", 131 "url_request/url_request_file_job.h",
135 "url_request/file_protocol_handler.cc", 132 "url_request/file_protocol_handler.cc",
136 "url_request/file_protocol_handler.h", 133 "url_request/file_protocol_handler.h",
137 ] 134 ]
138 } 135 }
139 136
140 if (!enable_ftp_support) { 137 if (disable_ftp_support) {
141 sources -= [ 138 sources -= [
142 "ftp/ftp_auth_cache.cc", 139 "ftp/ftp_auth_cache.cc",
143 "ftp/ftp_auth_cache.h", 140 "ftp/ftp_auth_cache.h",
144 "ftp/ftp_ctrl_response_buffer.cc", 141 "ftp/ftp_ctrl_response_buffer.cc",
145 "ftp/ftp_ctrl_response_buffer.h", 142 "ftp/ftp_ctrl_response_buffer.h",
146 "ftp/ftp_directory_listing_parser.cc", 143 "ftp/ftp_directory_listing_parser.cc",
147 "ftp/ftp_directory_listing_parser.h", 144 "ftp/ftp_directory_listing_parser.h",
148 "ftp/ftp_directory_listing_parser_ls.cc", 145 "ftp/ftp_directory_listing_parser_ls.cc",
149 "ftp/ftp_directory_listing_parser_ls.h", 146 "ftp/ftp_directory_listing_parser_ls.h",
150 "ftp/ftp_directory_listing_parser_netware.cc", 147 "ftp/ftp_directory_listing_parser_netware.cc",
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after
538 "base/net_string_util_icu_alternatives_android.cc", 535 "base/net_string_util_icu_alternatives_android.cc",
539 "base/net_string_util_icu_alternatives_android.h", 536 "base/net_string_util_icu_alternatives_android.h",
540 ] 537 ]
541 } 538 }
542 } 539 }
543 540
544 grit("net_resources") { 541 grit("net_resources") {
545 source = "base/net_resources.grd" 542 source = "base/net_resources.grd"
546 } 543 }
547 544
548 source_set("http_server") { 545 static_library("http_server") {
549 sources = [ 546 sources = [
550 "server/http_connection.cc", 547 "server/http_connection.cc",
551 "server/http_connection.h", 548 "server/http_connection.h",
552 "server/http_server.cc", 549 "server/http_server.cc",
553 "server/http_server.h", 550 "server/http_server.h",
554 "server/http_server_request_info.cc", 551 "server/http_server_request_info.cc",
555 "server/http_server_request_info.h", 552 "server/http_server_request_info.h",
556 "server/http_server_response_info.cc", 553 "server/http_server_response_info.cc",
557 "server/http_server_response_info.h", 554 "server/http_server_response_info.h",
558 "server/web_socket.cc", 555 "server/web_socket.cc",
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 "disk_cache/disk_cache_test_base.cc", 611 "disk_cache/disk_cache_test_base.cc",
615 "disk_cache/disk_cache_test_base.h", 612 "disk_cache/disk_cache_test_base.h",
616 "disk_cache/disk_cache_test_util.cc", 613 "disk_cache/disk_cache_test_util.cc",
617 "disk_cache/disk_cache_test_util.h", 614 "disk_cache/disk_cache_test_util.h",
618 "dns/dns_test_util.cc", 615 "dns/dns_test_util.cc",
619 "dns/dns_test_util.h", 616 "dns/dns_test_util.h",
620 "dns/mock_host_resolver.cc", 617 "dns/mock_host_resolver.cc",
621 "dns/mock_host_resolver.h", 618 "dns/mock_host_resolver.h",
622 "dns/mock_mdns_socket_factory.cc", 619 "dns/mock_mdns_socket_factory.cc",
623 "dns/mock_mdns_socket_factory.h", 620 "dns/mock_mdns_socket_factory.h",
621 "http/http_transaction_test_util.cc",
622 "http/http_transaction_test_util.h",
624 "proxy/mock_proxy_resolver.cc", 623 "proxy/mock_proxy_resolver.cc",
625 "proxy/mock_proxy_resolver.h", 624 "proxy/mock_proxy_resolver.h",
626 "proxy/mock_proxy_script_fetcher.cc", 625 "proxy/mock_proxy_script_fetcher.cc",
627 "proxy/mock_proxy_script_fetcher.h", 626 "proxy/mock_proxy_script_fetcher.h",
628 "proxy/proxy_config_service_common_unittest.cc", 627 "proxy/proxy_config_service_common_unittest.cc",
629 "proxy/proxy_config_service_common_unittest.h", 628 "proxy/proxy_config_service_common_unittest.h",
630 "socket/socket_test_util.cc", 629 "socket/socket_test_util.cc",
631 "socket/socket_test_util.h", 630 "socket/socket_test_util.h",
632 "test/cert_test_util.cc", 631 "test/cert_test_util.cc",
633 "test/cert_test_util.h", 632 "test/cert_test_util.h",
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
848 "tools/balsa/split.cc", 847 "tools/balsa/split.cc",
849 "tools/balsa/split.h", 848 "tools/balsa/split.h",
850 "tools/balsa/string_piece_utils.h", 849 "tools/balsa/string_piece_utils.h",
851 ] 850 ]
852 deps = [ 851 deps = [
853 ":net", 852 ":net",
854 "//base", 853 "//base",
855 ] 854 ]
856 } 855 }
857 856
858 source_set("epoll_server") { 857 static_library("epoll_server") {
859 sources = [ 858 sources = [
860 "tools/epoll_server/epoll_server.cc", 859 "tools/epoll_server/epoll_server.cc",
861 "tools/epoll_server/epoll_server.h", 860 "tools/epoll_server/epoll_server.h",
862 ] 861 ]
863 deps = [ 862 deps = [
864 ":net", 863 ":net",
865 "//base", 864 "//base",
866 ] 865 ]
867 } 866 }
868 867
869 source_set("flip_in_mem_edsm_server_base") { 868 static_library("flip_in_mem_edsm_server_base") {
870 sources = [ 869 sources = [
871 "tools/dump_cache/url_to_filename_encoder.cc", 870 "tools/dump_cache/url_to_filename_encoder.cc",
872 "tools/dump_cache/url_to_filename_encoder.h", 871 "tools/dump_cache/url_to_filename_encoder.h",
873 "tools/dump_cache/url_utilities.h", 872 "tools/dump_cache/url_utilities.h",
874 "tools/dump_cache/url_utilities.cc", 873 "tools/dump_cache/url_utilities.cc",
875 "tools/flip_server/acceptor_thread.h", 874 "tools/flip_server/acceptor_thread.h",
876 "tools/flip_server/acceptor_thread.cc", 875 "tools/flip_server/acceptor_thread.cc",
877 "tools/flip_server/create_listener.cc", 876 "tools/flip_server/create_listener.cc",
878 "tools/flip_server/create_listener.h", 877 "tools/flip_server/create_listener.h",
879 "tools/flip_server/constants.h", 878 "tools/flip_server/constants.h",
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
1021 1020
1022 if (is_android || is_linux) { 1021 if (is_android || is_linux) {
1023 executable("disk_cache_memory_test") { 1022 executable("disk_cache_memory_test") {
1024 sources = [ "tools/disk_cache_memory_test/disk_cache_memory_test.cc" ] 1023 sources = [ "tools/disk_cache_memory_test/disk_cache_memory_test.cc" ]
1025 deps = [ 1024 deps = [
1026 ":net", 1025 ":net",
1027 "//base", 1026 "//base",
1028 ] 1027 ]
1029 } 1028 }
1030 } 1029 }
1030
1031 # TODO(GYP) make this compile on Android, we need some native test deps done.
1032 if (!is_android) {
1033
1034 test("net_unittests") {
1035 sources = gypi_values.net_test_sources
1036
1037 configs += [ ":net_win_size_truncation" ]
1038 defines = []
1039
1040 deps = [
1041 ":http_server",
1042 ":net",
1043 ":test_support",
1044 "//base",
1045 "//base:i18n",
1046 "//base/allocator",
1047 "//base/third_party/dynamic_annotations",
1048 "//crypto",
1049 "//crypto:platform",
1050 "//net/base/registry_controlled_domains",
1051 "//testing/gmock",
1052 "//testing/gtest",
1053 "//third_party/zlib",
1054 "//url",
1055 ]
1056
1057 if (is_linux) {
1058 sources += gypi_values.net_linux_test_sources
1059 deps += [
1060 ":balsa",
1061 ":epoll_server",
1062 ":flip_in_mem_edsm_server_base",
1063 ":quic_base",
1064 ]
1065 }
1066
1067 if (is_chromeos) {
1068 sources -= [
1069 "base/network_change_notifier_linux_unittest.cc",
1070 "proxy/proxy_config_service_linux_unittest.cc",
1071 ]
1072 }
1073
1074 if (is_android) {
1075 sources -= [
1076 # See bug http://crbug.com/344533.
1077 "disk_cache/blockfile/index_table_v3_unittest.cc",
1078 # No res_ninit() et al on Android, so this doesn't make a lot of
1079 # sense.
1080 "dns/dns_config_service_posix_unittest.cc",
1081 ]
1082 deps += [
1083 ":net_javatests", # FIXME(brettw)
1084 ":net_test_jni_headers",
1085 ]
1086 }
1087
1088 if (!use_nss_certs) {
1089 sources -= [
1090 "ssl/client_cert_store_nss_unittest.cc",
1091 "ssl/client_cert_store_chromeos_unittest.cc",
1092 ]
1093 }
1094
1095 if (use_openssl) {
1096 # When building for OpenSSL, we need to exclude NSS specific tests
1097 # or functionality not supported by OpenSSL yet.
1098 # TODO(bulach): Add equivalent tests when the underlying
1099 # functionality is ported to OpenSSL.
1100 sources -= [
1101 "cert/ct_objects_extractor_unittest.cc",
1102 "cert/multi_log_ct_verifier_unittest.cc",
1103 "cert/nss_cert_database_unittest.cc",
1104 "cert/nss_cert_database_chromeos_unittest.cc",
1105 "cert/nss_profile_filter_chromeos_unittest.cc",
1106 "cert/x509_util_nss_unittest.cc",
1107 "quic/test_tools/crypto_test_utils_nss.cc",
1108 ]
1109 } else {
1110 sources -= [
1111 "cert/x509_util_openssl_unittest.cc",
1112 "quic/test_tools/crypto_test_utils_openssl.cc",
1113 "socket/ssl_client_socket_openssl_unittest.cc",
1114 "socket/ssl_session_cache_openssl_unittest.cc",
1115 ]
1116 if (!is_desktop_linux && !is_chromeos) {
1117 sources -= [ "cert/nss_cert_database_unittest.cc" ]
1118 }
1119 }
1120
1121 if (use_kerberos) {
1122 defines += [ "USE_KERBEROS" ]
1123 } else {
1124 sources -= [
1125 "http/http_auth_gssapi_posix_unittest.cc",
1126 "http/http_auth_handler_negotiate_unittest.cc",
1127 "http/mock_gssapi_library_posix.cc",
1128 "http/mock_gssapi_library_posix.h",
1129 ]
1130 }
1131
1132 if (use_openssl || (!is_desktop_linux && !is_chromeos && !is_ios)) {
1133 # Only include this test when on Posix and using NSS for
1134 # cert verification or on iOS (which also uses NSS for certs).
1135 sources -= [ "ocsp/nss_ocsp_unittest.cc" ]
1136 }
1137
1138 if (!use_openssl_certs) {
1139 sources -= [ "ssl/openssl_client_key_store_unittest.cc" ]
1140 }
1141
1142 if (!enable_websockets) {
1143 sources -= [
1144 "socket_stream/socket_stream_metrics_unittest.cc",
1145 "socket_stream/socket_stream_unittest.cc",
1146 "spdy/spdy_websocket_stream_unittest.cc",
1147 "websockets/websocket_basic_stream_test.cc",
1148 "websockets/websocket_channel_test.cc",
1149 "websockets/websocket_deflate_predictor_impl_test.cc",
1150 "websockets/websocket_deflate_stream_test.cc",
1151 "websockets/websocket_deflater_test.cc",
1152 "websockets/websocket_errors_test.cc",
1153 "websockets/websocket_extension_parser_test.cc",
1154 "websockets/websocket_frame_parser_test.cc",
1155 "websockets/websocket_frame_test.cc",
1156 "websockets/websocket_handshake_handler_spdy_test.cc",
1157 "websockets/websocket_handshake_handler_test.cc",
1158 "websockets/websocket_handshake_stream_create_helper_test.cc",
1159 "websockets/websocket_inflater_test.cc",
1160 "websockets/websocket_job_test.cc",
1161 "websockets/websocket_net_log_params_test.cc",
1162 "websockets/websocket_stream_test.cc",
1163 "websockets/websocket_test_util.cc",
1164 "websockets/websocket_test_util.h",
1165 "websockets/websocket_throttle_test.cc",
1166 ]
1167 }
1168
1169 if (disable_file_support) {
1170 sources -= [
1171 "base/directory_lister_unittest.cc",
1172 "url_request/url_request_file_job_unittest.cc",
1173 ]
1174 }
1175
1176 if (disable_ftp_support) {
1177 sources -= [
1178 "ftp/ftp_auth_cache_unittest.cc",
1179 "ftp/ftp_ctrl_response_buffer_unittest.cc",
1180 "ftp/ftp_directory_listing_parser_ls_unittest.cc",
1181 "ftp/ftp_directory_listing_parser_netware_unittest.cc",
1182 "ftp/ftp_directory_listing_parser_os2_unittest.cc",
1183 "ftp/ftp_directory_listing_parser_unittest.cc",
1184 "ftp/ftp_directory_listing_parser_unittest.h",
1185 "ftp/ftp_directory_listing_parser_vms_unittest.cc",
1186 "ftp/ftp_directory_listing_parser_windows_unittest.cc",
1187 "ftp/ftp_network_transaction_unittest.cc",
1188 "ftp/ftp_util_unittest.cc",
1189 "url_request/url_request_ftp_job_unittest.cc",
1190 ]
1191 }
1192
1193 if (!enable_built_in_dns) {
1194 sources -= [
1195 "dns/address_sorter_posix_unittest.cc",
1196 "dns/address_sorter_unittest.cc",
1197 ]
1198 }
1199
1200 # Always need use_v8_in_net to be 1 to run on Android, so just remove
1201 # net_unittest's dependency on v8 when using icu alternatives instead of
1202 # setting use_v8_in_net to 0.
1203 if (use_v8_in_net && !use_icu_alternatives_on_android) {
1204 deps += [ ":net_with_v8" ]
1205 } else {
1206 sources -= [
1207 "proxy/proxy_resolver_v8_unittest.cc",
1208 "proxy/proxy_resolver_v8_tracing_unittest.cc",
1209 ]
1210 }
1211
1212 if (!enable_mdns) {
1213 sources -= [
1214 "dns/mdns_cache_unittest.cc",
1215 "dns/mdns_client_unittest.cc",
1216 "dns/mdns_query_unittest.cc",
1217 "dns/record_parsed_unittest.cc",
1218 "dns/record_rdata_unittest.cc",
1219 ]
1220 }
1221
1222 if (is_ios) {
1223 # TODO(GYP)
1224 # 'actions': [
1225 # {
1226 # 'action_name': 'copy_test_data',
1227 # 'variables': {
1228 # 'test_data_files': [
1229 # 'data/ssl/certificates/',
1230 # 'data/test.html',
1231 # 'data/url_request_unittest/',
1232 # ],
1233 # 'test_data_prefix': 'net',
1234 # },
1235 # 'includes': [ '../build/copy_test_data_ios.gypi' ],
1236 # },
1237 # ],
1238 sources -= [
1239 # TODO(droger): The following tests are disabled because the
1240 # implementation is missing or incomplete.
1241 # KeygenHandler::GenKeyAndSignChallenge() is not ported to iOS.
1242 "base/keygen_handler_unittest.cc",
1243 "disk_cache/backend_unittest.cc",
1244 "disk_cache/blockfile/block_files_unittest.cc",
1245 # Need to read input data files.
1246 "filter/gzip_filter_unittest.cc",
1247 "socket/ssl_server_socket_unittest.cc",
1248 "spdy/fuzzing/hpack_fuzz_util_test.cc",
1249 # Need TestServer.
1250 "proxy/proxy_script_fetcher_impl_unittest.cc",
1251 "socket/ssl_client_socket_unittest.cc",
1252 "url_request/url_fetcher_impl_unittest.cc",
1253 "url_request/url_request_context_builder_unittest.cc",
1254 # Needs GetAppOutput().
1255 "test/python_utils_unittest.cc",
1256
1257 # The following tests are disabled because they don't apply to
1258 # iOS.
1259 # OS is not "linux" or "freebsd" or "openbsd".
1260 "socket/unix_domain_socket_posix_unittest.cc",
1261
1262 # See bug http://crbug.com/344533.
1263 "disk_cache/blockfile/index_table_v3_unittest.cc",
1264 ]
1265 }
1266
1267 if (is_android) {
1268 sources -= [
1269 "dns/dns_config_service_posix_unittest.cc",
1270 ]
1271 # TODO(GYP)
1272 # # TODO(mmenke): This depends on test_support_base, which depends on
1273 # # icu. Figure out a way to remove that dependency.
1274 # 'dependencies': [
1275 # '../testing/android/native_test.gyp:native_test_native_code',
1276 # ]
1277
1278 set_sources_assignment_filter([])
1279 sources += [ "base/address_tracker_linux_unittest.cc" ]
1280 set_sources_assignment_filter(sources_assignment_filter)
1281 }
1282
1283 if (use_icu_alternatives_on_android) {
1284 sources -= [
1285 "base/filename_util_unittest.cc",
1286 "base/net_util_icu_unittest.cc",
1287 ]
1288 deps -= [ "//base:i18n" ]
1289 }
1290 }
1291
1292 } # !is_android
OLDNEW
« no previous file with comments | « build/config/features.gni ('k') | net/net.gypi » ('j') | net/net.gypi » ('J')

Powered by Google App Engine
This is Rietveld 408576698