Mike Frysinger | 3a446f2 | 2022-09-08 07:37:14 | [diff] [blame] | 1 | # Copyright 2018 The ChromiumOS Authors |
Keigo Oka | cedea62 | 2018-09-03 11:08:05 | [diff] [blame] | 2 | # Use of this source code is governed by a BSD-style license that can be |
| 3 | # found in the LICENSE file. |
| 4 | |
Chih-Yu Huang | 1682977 | 2023-05-08 05:18:52 | [diff] [blame] | 5 | import("//common-mk/generate-dbus-adaptors.gni") |
Jie Jiang | 33574ec | 2024-02-26 07:32:16 | [diff] [blame] | 6 | import("//common-mk/install_seccomp_policy.gni") |
Keigo Oka | cedea62 | 2018-09-03 11:08:05 | [diff] [blame] | 7 | import("//common-mk/pkg_config.gni") |
| 8 | import("//common-mk/proto_library.gni") |
| 9 | |
| 10 | group("all") { |
| 11 | deps = [ |
Chih-Yu Huang | d840a12 | 2023-03-03 03:04:13 | [diff] [blame] | 12 | ":install_dbus_config", |
| 13 | ":install_init_config", |
Jie Jiang | e3c7a7a | 2023-08-16 08:24:19 | [diff] [blame] | 14 | ":install_seccomp_policy", |
Jie Jiang | 03267bf | 2023-11-28 10:59:10 | [diff] [blame] | 15 | ":install_setuid_restriction", |
Garrick Evans | aa4a9ed | 2020-04-30 05:33:23 | [diff] [blame] | 16 | ":libpatchpanel", |
Garrick Evans | aa4a9ed | 2020-04-30 05:33:23 | [diff] [blame] | 17 | ":libpatchpanel-util", |
| 18 | ":patchpaneld", |
Jie Jiang | a4eedc6 | 2023-10-25 09:24:51 | [diff] [blame] | 19 | "//patchpanel/bpf:patchpanel_ebpf", |
Jie Jiang | fe10597 | 2024-06-12 08:50:07 | [diff] [blame] | 20 | "//patchpanel/iptables:install_iptables_start_scripts", |
Keigo Oka | cedea62 | 2018-09-03 11:08:05 | [diff] [blame] | 21 | ] |
Jie Jiang | a4eedc6 | 2023-10-25 09:24:51 | [diff] [blame] | 22 | |
Hugo Benichi | 1661ca0 | 2019-10-16 06:36:13 | [diff] [blame] | 23 | if (use.fuzzer) { |
Taoyu Li | 906553a | 2019-10-18 04:44:41 | [diff] [blame] | 24 | deps += [ |
Hugo Benichi | 3e1f1fa | 2021-10-27 06:26:37 | [diff] [blame] | 25 | ":broadcast_forwarder_fuzzer", |
Cassie Wang | 3160c7d | 2021-10-29 07:08:34 | [diff] [blame] | 26 | ":counters_service_fuzzer", |
Hugo Benichi | b9b93fe | 2019-10-25 14:36:01 | [diff] [blame] | 27 | ":datapath_fuzzer", |
Garrick Evans | e237589 | 2021-11-05 10:10:30 | [diff] [blame] | 28 | ":dns_query_fuzzer", |
Garrick Evans | a866f38 | 2021-11-05 06:57:39 | [diff] [blame] | 29 | ":dns_util_fuzzer", |
Jason Jeremy Iman | 1b0faf5 | 2020-07-14 13:29:20 | [diff] [blame] | 30 | ":firewall_fuzzer", |
Taoyu Li | 906553a | 2019-10-18 04:44:41 | [diff] [blame] | 31 | ":multicast_forwarder_fuzzer", |
| 32 | ":ndproxy_fuzzer", |
Cassie Wang | 3160c7d | 2021-10-29 07:08:34 | [diff] [blame] | 33 | ":net_util_fuzzer", |
Taoyu Li | 906553a | 2019-10-18 04:44:41 | [diff] [blame] | 34 | ] |
Hugo Benichi | 1661ca0 | 2019-10-16 06:36:13 | [diff] [blame] | 35 | } |
Garrick Evans | 428e476 | 2018-12-11 06:18:42 | [diff] [blame] | 36 | if (use.test) { |
Garrick Evans | aa4a9ed | 2020-04-30 05:33:23 | [diff] [blame] | 37 | deps += [ ":patchpanel_testrunner" ] |
Garrick Evans | 428e476 | 2018-12-11 06:18:42 | [diff] [blame] | 38 | } |
Keigo Oka | cedea62 | 2018-09-03 11:08:05 | [diff] [blame] | 39 | } |
| 40 | |
Chih-Yu Huang | d840a12 | 2023-03-03 03:04:13 | [diff] [blame] | 41 | # Install the D-Bus config. |
| 42 | install_config("install_dbus_config") { |
Damien Dejean | c3f94d6 | 2024-04-12 07:47:50 | [diff] [blame] | 43 | sources = [ |
| 44 | "dbus/org.chromium.Patchpanel.conf", |
| 45 | "dbus/org.chromium.SocketService.conf", |
| 46 | ] |
Jaewon Jung | d68fe0e | 2023-09-11 08:44:57 | [diff] [blame] | 47 | install_path = "dbus_system_d" |
Chih-Yu Huang | d840a12 | 2023-03-03 03:04:13 | [diff] [blame] | 48 | } |
| 49 | |
| 50 | # Install the init config. |
| 51 | install_config("install_init_config") { |
| 52 | sources = [ "init/patchpanel.conf" ] |
Jaewon Jung | b2f03c8 | 2023-09-02 01:53:54 | [diff] [blame] | 53 | install_path = "upstart" |
Chih-Yu Huang | d840a12 | 2023-03-03 03:04:13 | [diff] [blame] | 54 | } |
| 55 | |
Jie Jiang | e3c7a7a | 2023-08-16 08:24:19 | [diff] [blame] | 56 | # Install the seccomp config. |
Jie Jiang | 33574ec | 2024-02-26 07:32:16 | [diff] [blame] | 57 | install_seccomp_policy("install_seccomp_policy") { |
| 58 | sources = [ "seccomp/" + getenv("ARCH") + "/iptables-seccomp.policy" ] |
Jaewon Jung | d68fe0e | 2023-09-11 08:44:57 | [diff] [blame] | 59 | install_path = "seccomp_policy" |
Jie Jiang | 33574ec | 2024-02-26 07:32:16 | [diff] [blame] | 60 | install_compiled_bpf = true |
Jie Jiang | e3c7a7a | 2023-08-16 08:24:19 | [diff] [blame] | 61 | } |
| 62 | |
Jie Jiang | 03267bf | 2023-11-28 10:59:10 | [diff] [blame] | 63 | # Install the setuid restriction config. |
| 64 | install_config("install_setuid_restriction") { |
| 65 | sources = [ "setuid_restrictions/patchpaneld_uid_allowlist.txt" ] |
| 66 | install_path = "/usr/share/cros/startup/process_management_policies" |
| 67 | } |
| 68 | |
Keigo Oka | cedea62 | 2018-09-03 11:08:05 | [diff] [blame] | 69 | pkg_config("target_defaults") { |
Jie Jiang | 7d0031e | 2024-08-04 13:27:40 | [diff] [blame] | 70 | cflags = [ "-Wconversion" ] |
Keigo Oka | cedea62 | 2018-09-03 11:08:05 | [diff] [blame] | 71 | pkg_deps = [ |
hscham | 190698a | 2020-01-17 03:06:33 | [diff] [blame] | 72 | "libbrillo", |
Qijiang Fan | b733c28 | 2020-10-22 15:19:47 | [diff] [blame] | 73 | "libchrome", |
Hugo Benichi | a85c0db | 2021-11-01 05:20:37 | [diff] [blame] | 74 | "libmetrics", |
naoyatezuka | 287c8315 | 2023-09-12 11:37:31 | [diff] [blame] | 75 | "libminijail", |
Chih-Yu Huang | 04e20c6 | 2023-05-01 09:13:54 | [diff] [blame] | 76 | "libnet-base", |
Chuwei He | 3d84633 | 2023-10-03 05:48:55 | [diff] [blame] | 77 | "libnetfilter_conntrack", |
Keigo Oka | cedea62 | 2018-09-03 11:08:05 | [diff] [blame] | 78 | "libshill-client", |
Jie Jiang | ed0b1cc | 2020-07-10 06:55:33 | [diff] [blame] | 79 | "re2", |
Garrick Evans | 0884393 | 2019-09-17 05:41:08 | [diff] [blame] | 80 | "system_api", |
Jason Jeremy Iman | 378930a | 2020-12-10 20:40:08 | [diff] [blame] | 81 | "vboot_host", |
Keigo Oka | cedea62 | 2018-09-03 11:08:05 | [diff] [blame] | 82 | ] |
Allen Webb | 33a2f80 | 2019-10-24 23:03:17 | [diff] [blame] | 83 | if (use.fuzzer) { |
| 84 | pkg_deps += [ "protobuf" ] |
| 85 | } else { |
| 86 | pkg_deps += [ "protobuf-lite" ] |
| 87 | } |
Keigo Oka | cedea62 | 2018-09-03 11:08:05 | [diff] [blame] | 88 | } |
| 89 | |
Hugo Benichi | 2fc7f6d | 2022-08-29 06:20:25 | [diff] [blame] | 90 | proto_library("patchpanel_ipc_protos") { |
Keigo Oka | cedea62 | 2018-09-03 11:08:05 | [diff] [blame] | 91 | proto_in_dir = "." |
Garrick Evans | 3388a03 | 2020-03-24 02:25:55 | [diff] [blame] | 92 | proto_out_dir = "include/patchpanel" |
Clark Chung | 352e61e | 2020-04-21 10:32:03 | [diff] [blame] | 93 | sources = [ "${proto_in_dir}/ipc.proto" ] |
Keigo Oka | cedea62 | 2018-09-03 11:08:05 | [diff] [blame] | 94 | } |
| 95 | |
Chih-Yu Huang | 1682977 | 2023-05-08 05:18:52 | [diff] [blame] | 96 | # Generate the D-Bus C++ binding. |
| 97 | generate_dbus_adaptors("patchpanel_dbus_adaptors") { |
| 98 | sources = [ "dbus_bindings/org.chromium.patchpanel.xml" ] |
| 99 | dbus_adaptors_out_dir = "include/patchpanel/dbus_adaptors" |
Damien Dejean | c3f94d6 | 2024-04-12 07:47:50 | [diff] [blame] | 100 | dbus_service_config = "dbus_bindings/patchpanel-dbus-service-config.json" |
| 101 | } |
| 102 | |
| 103 | generate_dbus_adaptors("socketservice_dbus_adaptors") { |
| 104 | sources = [ "dbus_bindings/org.chromium.socketservice.xml" ] |
| 105 | dbus_adaptors_out_dir = "include/socketservice/dbus_adaptors" |
| 106 | dbus_service_config = "dbus_bindings/socketservice-dbus-service-config.json" |
Chih-Yu Huang | 1682977 | 2023-05-08 05:18:52 | [diff] [blame] | 107 | } |
| 108 | |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 109 | source_set("util_sources") { |
| 110 | sources = [ |
| 111 | "address_manager.cc", |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 112 | "dns/dns_query.cc", |
| 113 | "dns/dns_response.cc", |
| 114 | "dns/dns_util.cc", |
| 115 | "dns/io_buffer.cc", |
| 116 | "mac_address_generator.cc", |
| 117 | "message_dispatcher.cc", |
| 118 | "net_util.cc", |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 119 | "subnet.cc", |
| 120 | "subnet_pool.cc", |
| 121 | ] |
| 122 | configs += [ |
| 123 | ":target_defaults", |
| 124 | "//common-mk:pic", |
| 125 | ] |
| 126 | } |
Manoj Gupta | b755386 | 2020-04-23 22:02:41 | [diff] [blame] | 127 | |
Garrick Evans | aa4a9ed | 2020-04-30 05:33:23 | [diff] [blame] | 128 | shared_library("libpatchpanel-util") { |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 129 | deps = [ ":util_sources" ] |
Chih-Yu Huang | d840a12 | 2023-03-03 03:04:13 | [diff] [blame] | 130 | install_path = "lib" |
Manoj Gupta | b755386 | 2020-04-23 22:02:41 | [diff] [blame] | 131 | } |
| 132 | |
Garrick Evans | aa4a9ed | 2020-04-30 05:33:23 | [diff] [blame] | 133 | static_library("libpatchpanel") { |
Ningyuan Wang | 18315d5 | 2024-03-27 05:13:38 | [diff] [blame] | 134 | # NIC hotplug is temporarily disabled while being stabilized. |
| 135 | nic_hotplug = false |
Wang Ningyuan | 4ab4c75 | 2023-12-08 10:39:23 | [diff] [blame] | 136 | |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 137 | sources = [ |
| 138 | "adb_proxy.cc", |
| 139 | "arc_service.cc", |
| 140 | "broadcast_forwarder.cc", |
naoyatezuka | 88b26ef | 2023-08-17 04:27:21 | [diff] [blame] | 141 | "clat_service.cc", |
Chuwei He | dd25bd8 | 2024-01-11 07:46:17 | [diff] [blame] | 142 | "connmark_updater.cc", |
Chuwei He | 3d84633 | 2023-10-03 05:48:55 | [diff] [blame] | 143 | "conntrack_monitor.cc", |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 144 | "counters_service.cc", |
| 145 | "crostini_service.cc", |
| 146 | "datapath.cc", |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 147 | "dhcp_server_controller.cc", |
Hugo Benichi | abcd7c9 | 2024-05-21 06:09:06 | [diff] [blame] | 148 | "downstream_network_info.cc", |
Hugo Benichi | 00a001b | 2024-05-22 07:37:12 | [diff] [blame] | 149 | "downstream_network_service.cc", |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 150 | "firewall.cc", |
| 151 | "guest_ipv6_service.cc", |
| 152 | "iptables.cc", |
Hugo Benichi | c0fc578 | 2024-05-13 00:36:45 | [diff] [blame] | 153 | "lifeline_fd_service.cc", |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 154 | "manager.cc", |
| 155 | "minijailed_process_runner.cc", |
Chuwei He | e1c068a | 2023-06-02 02:51:34 | [diff] [blame] | 156 | "multicast_counters_service.cc", |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 157 | "multicast_forwarder.cc", |
Jason Jeremy Iman | ac627e6 | 2023-06-08 01:06:49 | [diff] [blame] | 158 | "multicast_metrics.cc", |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 159 | "multicast_proxy.cc", |
| 160 | "ndproxy.cc", |
Taoyu Li | b67a423 | 2023-12-12 08:11:18 | [diff] [blame] | 161 | "network/address_service.cc", |
| 162 | "network/network_applier.cc", |
| 163 | "network/routing_policy_service.cc", |
| 164 | "network/routing_table.cc", |
| 165 | "network/routing_table_entry.cc", |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 166 | "network_monitor_service.cc", |
| 167 | "patchpanel_adaptor.cc", |
| 168 | "patchpanel_daemon.cc", |
| 169 | "proto_utils.cc", |
Jie Jiang | 1d64627 | 2023-08-23 04:26:20 | [diff] [blame] | 170 | "qos_service.cc", |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 171 | "routing_service.cc", |
Chih-Yu Huang | 7024c5f | 2023-05-23 08:09:58 | [diff] [blame] | 172 | "rtnl_client.cc", |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 173 | "shill_client.cc", |
Damien Dejean | c3f94d6 | 2024-04-12 07:47:50 | [diff] [blame] | 174 | "socket_daemon.cc", |
| 175 | "socket_service_adaptor.cc", |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 176 | "subprocess_controller.cc", |
| 177 | "system.cc", |
Wang Ningyuan | 99358d8 | 2023-09-25 03:50:06 | [diff] [blame] | 178 | "vm_concierge_client.cc", |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 179 | ] |
Garrick Evans | 0884393 | 2019-09-17 05:41:08 | [diff] [blame] | 180 | configs += [ ":target_defaults" ] |
Taoyu Li | 28d8a52 | 2022-10-14 11:58:36 | [diff] [blame] | 181 | cflags = [ "-Wconversion" ] |
Wang Ningyuan | 4ab4c75 | 2023-12-08 10:39:23 | [diff] [blame] | 182 | defines = [ |
| 183 | "USE_ARCVM=${use.arcvm}", |
| 184 | "USE_ARCVM_NIC_HOTPLUG=${nic_hotplug}", |
| 185 | ] |
Jie Jiang | 3f64aa3 | 2023-10-02 11:29:10 | [diff] [blame] | 186 | |
| 187 | # Workaround for b/266863330: disable PCH when the user generates |
| 188 | # compilation database for an editor. |
| 189 | if (!use.compdb_only && !use.compilation_database) { |
Jie Jiang | 65ed569 | 2024-01-29 05:39:03 | [diff] [blame] | 190 | precompiled_header = "pch/pch.h" |
| 191 | precompiled_source = "pch/pch.h" |
Jie Jiang | 3f64aa3 | 2023-10-02 11:29:10 | [diff] [blame] | 192 | } |
Garrick Evans | 0884393 | 2019-09-17 05:41:08 | [diff] [blame] | 193 | all_dependent_pkg_deps = [ |
| 194 | "protobuf", |
| 195 | "system_api", |
| 196 | ] |
Chih-Yu Huang | 1682977 | 2023-05-08 05:18:52 | [diff] [blame] | 197 | deps = [ |
| 198 | ":patchpanel_dbus_adaptors", |
| 199 | ":patchpanel_ipc_protos", |
Damien Dejean | c3f94d6 | 2024-04-12 07:47:50 | [diff] [blame] | 200 | ":socketservice_dbus_adaptors", |
Chih-Yu Huang | 748be3b | 2023-05-15 06:41:03 | [diff] [blame] | 201 | ":util_sources", |
Chih-Yu Huang | 1682977 | 2023-05-08 05:18:52 | [diff] [blame] | 202 | ] |
Garrick Evans | 428e476 | 2018-12-11 06:18:42 | [diff] [blame] | 203 | } |
| 204 | |
Garrick Evans | 635a3f0 | 2020-04-21 23:02:02 | [diff] [blame] | 205 | executable("patchpaneld") { |
Clark Chung | 352e61e | 2020-04-21 10:32:03 | [diff] [blame] | 206 | sources = [ "main.cc" ] |
Ayato Tokubi | def23f1 | 2019-10-02 03:21:53 | [diff] [blame] | 207 | configs += [ ":target_defaults" ] |
Clark Chung | 352e61e | 2020-04-21 10:32:03 | [diff] [blame] | 208 | deps = [ ":libpatchpanel" ] |
Chih-Yu Huang | d840a12 | 2023-03-03 03:04:13 | [diff] [blame] | 209 | install_path = "bin" |
Garrick Evans | 428e476 | 2018-12-11 06:18:42 | [diff] [blame] | 210 | } |
| 211 | |
Hugo Benichi | 1661ca0 | 2019-10-16 06:36:13 | [diff] [blame] | 212 | if (use.fuzzer) { |
| 213 | pkg_config("fuzzing_config") { |
Qijiang Fan | b733c28 | 2020-10-22 15:19:47 | [diff] [blame] | 214 | pkg_deps = [ "libchrome-test" ] |
Hugo Benichi | 1661ca0 | 2019-10-16 06:36:13 | [diff] [blame] | 215 | } |
| 216 | |
Garrick Evans | 10d6c9e | 2021-11-05 09:48:50 | [diff] [blame] | 217 | executable("broadcast_forwarder_fuzzer") { |
| 218 | sources = [ "broadcast_forwarder_fuzzer.cc" ] |
| 219 | configs += [ |
| 220 | "//common-mk/common_fuzzer", |
| 221 | ":target_defaults", |
| 222 | ":fuzzing_config", |
| 223 | ] |
| 224 | deps = [ ":libpatchpanel" ] |
| 225 | } |
| 226 | |
| 227 | executable("counters_service_fuzzer") { |
| 228 | sources = [ "counters_service_fuzzer.cc" ] |
Taoyu Li | 906553a | 2019-10-18 04:44:41 | [diff] [blame] | 229 | configs += [ |
| 230 | "//common-mk/common_fuzzer", |
| 231 | ":target_defaults", |
| 232 | ":fuzzing_config", |
| 233 | ] |
Clark Chung | 352e61e | 2020-04-21 10:32:03 | [diff] [blame] | 234 | deps = [ ":libpatchpanel" ] |
Taoyu Li | 906553a | 2019-10-18 04:44:41 | [diff] [blame] | 235 | } |
Hugo Benichi | b9b93fe | 2019-10-25 14:36:01 | [diff] [blame] | 236 | |
| 237 | executable("datapath_fuzzer") { |
Tatsuhisa Yamaguchi | ef03319 | 2021-02-05 16:03:23 | [diff] [blame] | 238 | sources = [ "datapath_fuzzer.cc" ] |
Hugo Benichi | b9b93fe | 2019-10-25 14:36:01 | [diff] [blame] | 239 | configs += [ |
| 240 | "//common-mk/common_fuzzer", |
| 241 | ":target_defaults", |
| 242 | ":fuzzing_config", |
| 243 | ] |
Clark Chung | 352e61e | 2020-04-21 10:32:03 | [diff] [blame] | 244 | deps = [ ":libpatchpanel" ] |
Hugo Benichi | b9b93fe | 2019-10-25 14:36:01 | [diff] [blame] | 245 | } |
Garrick Evans | e1f11c3 | 2020-05-21 07:54:06 | [diff] [blame] | 246 | |
Garrick Evans | e237589 | 2021-11-05 10:10:30 | [diff] [blame] | 247 | executable("dns_query_fuzzer") { |
| 248 | sources = [ "dns/dns_query_fuzzer.cc" ] |
| 249 | configs += [ |
| 250 | "//common-mk/common_fuzzer", |
| 251 | ":target_defaults", |
| 252 | ":fuzzing_config", |
| 253 | ] |
| 254 | deps = [ ":libpatchpanel" ] |
| 255 | } |
| 256 | |
Garrick Evans | a866f38 | 2021-11-05 06:57:39 | [diff] [blame] | 257 | executable("dns_util_fuzzer") { |
| 258 | sources = [ "dns/dns_util_fuzzer.cc" ] |
| 259 | configs += [ |
| 260 | "//common-mk/common_fuzzer", |
| 261 | ":target_defaults", |
| 262 | ":fuzzing_config", |
| 263 | ] |
| 264 | deps = [ ":libpatchpanel" ] |
| 265 | } |
| 266 | |
Jason Jeremy Iman | 1b0faf5 | 2020-07-14 13:29:20 | [diff] [blame] | 267 | executable("firewall_fuzzer") { |
Tatsuhisa Yamaguchi | ef03319 | 2021-02-05 16:03:23 | [diff] [blame] | 268 | sources = [ "firewall_fuzzer.cc" ] |
Jason Jeremy Iman | 1b0faf5 | 2020-07-14 13:29:20 | [diff] [blame] | 269 | configs += [ |
| 270 | "//common-mk/common_fuzzer", |
| 271 | ":target_defaults", |
| 272 | ":fuzzing_config", |
| 273 | ] |
Jason Jeremy Iman | 1b0faf5 | 2020-07-14 13:29:20 | [diff] [blame] | 274 | deps = [ ":libpatchpanel" ] |
| 275 | } |
Jie Jiang | 44dfd0b | 2020-12-16 09:09:41 | [diff] [blame] | 276 | |
Garrick Evans | 10d6c9e | 2021-11-05 09:48:50 | [diff] [blame] | 277 | executable("multicast_forwarder_fuzzer") { |
| 278 | sources = [ "multicast_forwarder_fuzzer.cc" ] |
Jie Jiang | 44dfd0b | 2020-12-16 09:09:41 | [diff] [blame] | 279 | configs += [ |
| 280 | "//common-mk/common_fuzzer", |
Chih-Yu Huang | fbef1c7 | 2024-01-18 08:14:26 | [diff] [blame] | 281 | "//common-mk:test", |
Jie Jiang | 44dfd0b | 2020-12-16 09:09:41 | [diff] [blame] | 282 | ":target_defaults", |
| 283 | ":fuzzing_config", |
| 284 | ] |
Jie Jiang | 44dfd0b | 2020-12-16 09:09:41 | [diff] [blame] | 285 | deps = [ ":libpatchpanel" ] |
Chih-Yu Huang | fbef1c7 | 2024-01-18 08:14:26 | [diff] [blame] | 286 | pkg_deps = [ "libchrome-test" ] |
Jie Jiang | 44dfd0b | 2020-12-16 09:09:41 | [diff] [blame] | 287 | } |
Hugo Benichi | 3e1f1fa | 2021-10-27 06:26:37 | [diff] [blame] | 288 | |
Garrick Evans | 10d6c9e | 2021-11-05 09:48:50 | [diff] [blame] | 289 | executable("ndproxy_fuzzer") { |
| 290 | sources = [ "ndproxy_fuzzer.cc" ] |
Hugo Benichi | 3e1f1fa | 2021-10-27 06:26:37 | [diff] [blame] | 291 | configs += [ |
| 292 | "//common-mk/common_fuzzer", |
| 293 | ":target_defaults", |
| 294 | ":fuzzing_config", |
| 295 | ] |
| 296 | deps = [ ":libpatchpanel" ] |
| 297 | } |
Cassie Wang | 3160c7d | 2021-10-29 07:08:34 | [diff] [blame] | 298 | |
| 299 | executable("net_util_fuzzer") { |
| 300 | sources = [ "net_util_fuzzer.cc" ] |
| 301 | configs += [ |
| 302 | "//common-mk/common_fuzzer", |
| 303 | ":target_defaults", |
| 304 | ":fuzzing_config", |
| 305 | ] |
| 306 | deps = [ ":libpatchpanel" ] |
| 307 | } |
Hugo Benichi | 1661ca0 | 2019-10-16 06:36:13 | [diff] [blame] | 308 | } |
| 309 | |
Garrick Evans | 428e476 | 2018-12-11 06:18:42 | [diff] [blame] | 310 | if (use.test) { |
| 311 | pkg_config("test_config") { |
Qijiang Fan | b733c28 | 2020-10-22 15:19:47 | [diff] [blame] | 312 | pkg_deps = [ "libchrome-test" ] |
Garrick Evans | 428e476 | 2018-12-11 06:18:42 | [diff] [blame] | 313 | } |
| 314 | |
Garrick Evans | aa4a9ed | 2020-04-30 05:33:23 | [diff] [blame] | 315 | executable("patchpanel_testrunner") { |
Chih-Yu Huang | 5dc3470 | 2023-03-03 02:00:54 | [diff] [blame] | 316 | run_test = true |
Garrick Evans | 428e476 | 2018-12-11 06:18:42 | [diff] [blame] | 317 | sources = [ |
Garrick Evans | 0dbd418 | 2019-03-06 23:38:38 | [diff] [blame] | 318 | "address_manager_test.cc", |
Garrick Evans | 5486162 | 2019-07-19 00:05:09 | [diff] [blame] | 319 | "arc_service_test.cc", |
naoyatezuka | 02db5c1 | 2023-08-23 01:46:11 | [diff] [blame] | 320 | "clat_service_test.cc", |
Chuwei He | dd25bd8 | 2024-01-11 07:46:17 | [diff] [blame] | 321 | "connmark_updater_test.cc", |
Chuwei He | 5c1959e | 2023-10-17 08:21:07 | [diff] [blame] | 322 | "conntrack_monitor_test.cc", |
Jie Jiang | cf74915 | 2020-07-09 13:20:58 | [diff] [blame] | 323 | "counters_service_test.cc", |
Hugo Benichi | 103f0d4 | 2023-04-28 06:13:15 | [diff] [blame] | 324 | "crostini_service_test.cc", |
Garrick Evans | f0ab713 | 2019-06-18 05:50:42 | [diff] [blame] | 325 | "datapath_test.cc", |
Chih-Yu Huang | 7fe2740 | 2023-03-02 06:41:27 | [diff] [blame] | 326 | "dhcp_server_controller_test.cc", |
Jason Jeremy Iman | a21be27 | 2020-10-21 08:53:45 | [diff] [blame] | 327 | "dns/dns_query_test.cc", |
| 328 | "dns/dns_response_test.cc", |
Hugo Benichi | abcd7c9 | 2024-05-21 06:09:06 | [diff] [blame] | 329 | "downstream_network_info_test.cc", |
Hugo Benichi | 00a001b | 2024-05-22 07:37:12 | [diff] [blame] | 330 | "downstream_network_service_test.cc", |
Jason Jeremy Iman | 54c046f | 2020-06-23 14:12:00 | [diff] [blame] | 331 | "firewall_test.cc", |
Taoyu Li | 28d8a52 | 2022-10-14 11:58:36 | [diff] [blame] | 332 | "guest_ipv6_service_test.cc", |
Hugo Benichi | c0fc578 | 2024-05-13 00:36:45 | [diff] [blame] | 333 | "lifeline_fd_service_test.cc", |
Garrick Evans | 4b66f63 | 2019-01-24 06:09:16 | [diff] [blame] | 334 | "mac_address_generator_test.cc", |
Chih-Yu Huang | dfe21f3 | 2023-08-29 06:53:31 | [diff] [blame] | 335 | "manager_test.cc", |
Garrick Evans | 64a2df3 | 2018-12-12 07:53:46 | [diff] [blame] | 336 | "minijailed_process_runner_test.cc", |
Chuwei He | dd25bd8 | 2024-01-11 07:46:17 | [diff] [blame] | 337 | "mock_connmark_updater.cc", |
Chuwei He | 2f89927 | 2023-11-15 02:29:35 | [diff] [blame] | 338 | "mock_conntrack_monitor.cc", |
Hugo Benichi | 2adc882 | 2024-05-25 04:27:32 | [diff] [blame] | 339 | "mock_counters_service.cc", |
Jie Jiang | 37bf1a4 | 2023-10-16 05:07:01 | [diff] [blame] | 340 | "mock_datapath.cc", |
Hugo Benichi | 2adc882 | 2024-05-25 04:27:32 | [diff] [blame] | 341 | "mock_guest_ipv6_service.cc", |
| 342 | "mock_lifeline_fd_service.cc", |
Jie Jiang | 37bf1a4 | 2023-10-16 05:07:01 | [diff] [blame] | 343 | "mock_multicast_counters_service.cc", |
Jie Jiang | 7c22a76 | 2023-10-16 11:33:39 | [diff] [blame] | 344 | "mock_process_runner.cc", |
Hugo Benichi | 40a71b9 | 2024-04-23 06:05:03 | [diff] [blame] | 345 | "mock_routing_service.cc", |
Hugo Benichi | 2adc882 | 2024-05-25 04:27:32 | [diff] [blame] | 346 | "mock_rtnl_client.cc", |
Jie Jiang | 3fd49e7 | 2024-09-13 13:23:51 | [diff] [blame] | 347 | "mock_system.cc", |
Wang Ningyuan | a120018 | 2024-01-18 08:47:20 | [diff] [blame] | 348 | "mock_vm_concierge_client.cc", |
Chuwei He | e1c068a | 2023-06-02 02:51:34 | [diff] [blame] | 349 | "multicast_counters_service_test.cc", |
Jason Jeremy Iman | ac627e6 | 2023-06-08 01:06:49 | [diff] [blame] | 350 | "multicast_metrics_test.cc", |
Taoyu Li | aa6238b | 2019-09-06 08:38:52 | [diff] [blame] | 351 | "ndproxy_test.cc", |
Hugo Benichi | 2ac4d07 | 2019-05-28 05:51:23 | [diff] [blame] | 352 | "net_util_test.cc", |
Taoyu Li | 15c4efd | 2024-04-11 06:49:46 | [diff] [blame] | 353 | "network/address_service_test.cc", |
| 354 | "network/mock_address_service.cc", |
Taoyu Li | b67a423 | 2023-12-12 08:11:18 | [diff] [blame] | 355 | "network/mock_network_applier.cc", |
| 356 | "network/mock_routing_policy_service.cc", |
| 357 | "network/mock_routing_table.cc", |
| 358 | "network/network_applier_test.cc", |
| 359 | "network/routing_policy_service_test.cc", |
| 360 | "network/routing_table_test.cc", |
Jie Jiang | 01c1a2e | 2020-04-08 11:58:30 | [diff] [blame] | 361 | "network_monitor_service_test.cc", |
Chih-Yu Huang | bbca8cb | 2024-07-16 07:04:36 | [diff] [blame] | 362 | "noop_subprocess_controller.cc", |
Hugo Benichi | 6f664c1 | 2023-05-08 08:32:55 | [diff] [blame] | 363 | "proto_utils_test.cc", |
Jie Jiang | e726340 | 2023-08-28 03:43:31 | [diff] [blame] | 364 | "qos_service_test.cc", |
Hugo Benichi | 7d9d8db | 2020-03-30 06:56:56 | [diff] [blame] | 365 | "routing_service_test.cc", |
Garrick Evans | f2e11f0 | 2018-12-25 06:25:39 | [diff] [blame] | 366 | "shill_client_test.cc", |
Damien Dejean | 7b06d0d | 2024-04-18 09:40:16 | [diff] [blame] | 367 | "socket_service_adaptor_test.cc", |
Garrick Evans | 4b66f63 | 2019-01-24 06:09:16 | [diff] [blame] | 368 | "subnet_pool_test.cc", |
| 369 | "subnet_test.cc", |
Chih-Yu Huang | d327238 | 2023-03-14 06:07:11 | [diff] [blame] | 370 | "subprocess_controller_test.cc", |
Chih-Yu Huang | 8e4abe3 | 2023-08-30 05:30:25 | [diff] [blame] | 371 | "system_test.cc", |
Jie Jiang | 7d06c61 | 2024-10-01 05:10:52 | [diff] [blame] | 372 | "testrunner.cc", |
Wang Ningyuan | 99358d8 | 2023-09-25 03:50:06 | [diff] [blame] | 373 | "vm_concierge_client_test.cc", |
Garrick Evans | 428e476 | 2018-12-11 06:18:42 | [diff] [blame] | 374 | ] |
Ayato Tokubi | def23f1 | 2019-10-02 03:21:53 | [diff] [blame] | 375 | configs += [ |
| 376 | "//common-mk:test", |
| 377 | ":target_defaults", |
| 378 | ":test_config", |
| 379 | ] |
Jie Jiang | 3f64aa3 | 2023-10-02 11:29:10 | [diff] [blame] | 380 | |
| 381 | # Workaround for b/266863330: disable PCH when the user generates |
| 382 | # compilation database for an editor. |
| 383 | if (!use.compdb_only && !use.compilation_database) { |
Jie Jiang | 65ed569 | 2024-01-29 05:39:03 | [diff] [blame] | 384 | precompiled_header = "pch/pch_test.h" |
| 385 | precompiled_source = "pch/pch_test.h" |
Jie Jiang | 3f64aa3 | 2023-10-02 11:29:10 | [diff] [blame] | 386 | } |
Garrick Evans | 428e476 | 2018-12-11 06:18:42 | [diff] [blame] | 387 | defines = [ "UNIT_TEST" ] |
| 388 | deps = [ |
Hugo Benichi | 2fc7f6d | 2022-08-29 06:20:25 | [diff] [blame] | 389 | ":libpatchpanel", |
Garrick Evans | 4b66f63 | 2019-01-24 06:09:16 | [diff] [blame] | 390 | "//common-mk/testrunner", |
Garrick Evans | 428e476 | 2018-12-11 06:18:42 | [diff] [blame] | 391 | ] |
Jie Jiang | e970cc2 | 2024-06-12 07:03:10 | [diff] [blame] | 392 | pkg_deps = [ "libnet-base-test" ] |
Garrick Evans | 428e476 | 2018-12-11 06:18:42 | [diff] [blame] | 393 | } |
| 394 | } |