xref: /aosp_15_r20/external/sandboxed-api/sandboxed_api/sandbox2/testcases/CMakeLists.txt (revision ec63e07ab9515d95e79c211197c445ef84cefa6a)
1# Copyright 2019 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15# sandboxed_api/sandbox2/testcases:abort
16add_executable(sandbox2_testcase_abort
17  abort.cc
18)
19set_target_properties(sandbox2_testcase_abort PROPERTIES
20  OUTPUT_NAME abort)
21add_executable(sandbox2::testcase_abort ALIAS sandbox2_testcase_abort)
22target_link_libraries(sandbox2_testcase_abort PRIVATE
23  -static
24  sapi::base
25  sapi::raw_logging
26)
27
28# sandboxed_api/sandbox2/testcases:add_policy_on_syscalls
29add_executable(sandbox2_testcase_add_policy_on_syscalls
30  add_policy_on_syscalls.cc
31)
32add_executable(sandbox2::testcase_add_policy_on_syscalls
33  ALIAS sandbox2_testcase_add_policy_on_syscalls)
34set_target_properties(sandbox2_testcase_add_policy_on_syscalls PROPERTIES
35  OUTPUT_NAME add_policy_on_syscalls
36)
37target_link_libraries(sandbox2_testcase_add_policy_on_syscalls PRIVATE
38  -static
39  sapi::base
40)
41
42# sandboxed_api/sandbox2/testcases:buffer
43add_executable(sandbox2_testcase_buffer
44  buffer.cc
45)
46add_executable(sandbox2::testcase_buffer ALIAS sandbox2_testcase_buffer)
47set_target_properties(sandbox2_testcase_buffer PROPERTIES
48  OUTPUT_NAME buffer
49)
50target_link_libraries(sandbox2_testcase_buffer PRIVATE
51  -static
52  sandbox2::buffer
53  sapi::base
54)
55
56# sandboxed_api/sandbox2/testcases:ipc
57add_executable(sandbox2_testcase_ipc
58  ipc.cc
59)
60set_target_properties(sandbox2_testcase_ipc PROPERTIES
61  OUTPUT_NAME ipc
62)
63add_executable(sandbox2::testcase_ipc ALIAS sandbox2_testcase_ipc)
64target_link_libraries(sandbox2_testcase_ipc PRIVATE
65  -static
66  absl::strings
67  sandbox2::client
68  sandbox2::comms
69  sapi::base
70  sapi::raw_logging
71)
72
73# sandboxed_api/sandbox2/testcases:malloc_system
74add_executable(sandbox2_testcase_malloc_system
75  malloc.cc
76)
77add_executable(sandbox2::testcase_malloc_system ALIAS
78  sandbox2_testcase_malloc_system)
79set_target_properties(sandbox2_testcase_malloc_system PROPERTIES
80  OUTPUT_NAME malloc_system
81)
82target_link_libraries(sandbox2_testcase_malloc_system PRIVATE
83  -static
84  sapi::base
85)
86
87# sandboxed_api/sandbox2/testcases:minimal_dynamic
88add_executable(sandbox2_testcase_minimal_dynamic
89  minimal.cc
90)
91set_target_properties(sandbox2_testcase_minimal_dynamic PROPERTIES
92  OUTPUT_NAME minimal_dynamic
93)
94add_executable(sandbox2::testcase_minimal_dynamic ALIAS
95  sandbox2_testcase_minimal_dynamic)
96target_link_libraries(sandbox2_testcase_minimal_dynamic PRIVATE
97  sapi::base
98)
99
100# sandboxed_api/sandbox2/testcases:minimal
101add_executable(sandbox2_testcase_minimal
102  minimal.cc
103)
104add_executable(sandbox2::testcase_minimal ALIAS sandbox2_testcase_minimal)
105set_target_properties(sandbox2_testcase_minimal PROPERTIES
106  OUTPUT_NAME minimal
107)
108target_link_libraries(sandbox2_testcase_minimal PRIVATE
109  -static
110  sapi::base
111)
112
113# sandboxed_api/sandbox2/testcases:personality
114add_executable(sandbox2_testcase_personality
115  personality.cc
116)
117add_executable(sandbox2::testcase_personality ALIAS
118  sandbox2_testcase_personality)
119set_target_properties(sandbox2_testcase_personality PROPERTIES
120  OUTPUT_NAME personality
121)
122target_link_libraries(sandbox2_testcase_personality PRIVATE
123  -static
124  sapi::base
125)
126
127# sandboxed_api/sandbox2/testcases:pidcomms
128add_executable(sandbox2_testcase_pidcomms
129  pidcomms.cc
130)
131add_executable(sandbox2::testcase_pidcomms ALIAS sandbox2_testcase_pidcomms)
132set_target_properties(sandbox2_testcase_pidcomms PROPERTIES
133  OUTPUT_NAME pidcomms
134)
135target_link_libraries(sandbox2_testcase_pidcomms PRIVATE
136  -static
137  sandbox2::client
138  sandbox2::comms
139  sapi::base
140  sapi::raw_logging
141)
142
143# sandboxed_api/sandbox2/testcases:policy
144add_executable(sandbox2_testcase_policy
145  policy.cc
146)
147add_executable(sandbox2::testcase_policy ALIAS sandbox2_testcase_policy)
148set_target_properties(sandbox2_testcase_policy PROPERTIES
149  OUTPUT_NAME policy
150)
151target_link_libraries(sandbox2_testcase_policy PRIVATE
152  -static
153  absl::core_headers
154  sapi::base
155  sapi::config
156)
157
158# sandboxed_api/sandbox2/testcases:sanitizer
159add_executable(sandbox2_testcase_sanitizer
160  sanitizer.cc
161)
162add_executable(sandbox2::testcase_sanitizer ALIAS sandbox2_testcase_sanitizer)
163set_target_properties(sandbox2_testcase_sanitizer PROPERTIES
164  OUTPUT_NAME sanitizer
165)
166target_link_libraries(sandbox2_testcase_sanitizer PRIVATE
167  -static
168  sapi::base
169)
170
171# sandboxed_api/sandbox2/testcases:close_fds
172add_executable(sandbox2_testcase_close_fds
173  close_fds.cc
174)
175add_executable(sandbox2::testcase_close_fds ALIAS sandbox2_testcase_close_fds)
176set_target_properties(sandbox2_testcase_close_fds PROPERTIES
177  OUTPUT_NAME close_fds
178)
179target_link_libraries(sandbox2_testcase_close_fds PRIVATE
180  sapi::base
181  absl::check
182  absl::status
183  absl::strings
184  absl::flat_hash_set
185  sandbox2::sanitizer
186)
187
188
189# sandboxed_api/sandbox2/testcases:sleep
190add_executable(sandbox2_testcase_sleep
191  sleep.cc
192)
193add_executable(sandbox2::testcase_sleep ALIAS sandbox2_testcase_sleep)
194set_target_properties(sandbox2_testcase_sleep PROPERTIES
195  OUTPUT_NAME sleep
196)
197target_link_libraries(sandbox2_testcase_sleep PRIVATE
198  -static
199  sapi::base
200)
201
202# sandboxed_api/sandbox2/testcases:symbolize
203add_executable(sandbox2_testcase_symbolize
204  symbolize.cc
205)
206add_executable(sandbox2::testcase_symbolize ALIAS sandbox2_testcase_symbolize)
207set_target_properties(sandbox2_testcase_symbolize PROPERTIES
208  OUTPUT_NAME symbolize
209)
210target_link_libraries(sandbox2_testcase_symbolize PRIVATE
211  -static
212  absl::core_headers
213  absl::strings
214  sapi::base
215  sapi::raw_logging
216  sandbox2::testcase_symbolize_lib
217)
218
219# sandboxed_api/sandbox2/testcases:symbolize_lib
220add_library(sandbox2_testcase_symbolize_lib
221  symbolize_lib.cc
222  symbolize_lib.h
223)
224add_library(sandbox2::testcase_symbolize_lib ALIAS sandbox2_testcase_symbolize_lib)
225target_link_libraries(sandbox2_testcase_symbolize_lib PRIVATE
226  -static
227  absl::core_headers
228  sapi::base
229)
230target_compile_options(sandbox2_testcase_symbolize_lib PRIVATE
231  -fno-omit-frame-pointer
232  -fno-unwind-tables
233  -fno-asynchronous-unwind-tables
234)
235
236# sandboxed_api/sandbox2/testcases:starve
237add_executable(sandbox2_testcase_starve
238  starve.cc
239)
240add_executable(sandbox2::testcase_starve ALIAS sandbox2_testcase_starve)
241set_target_properties(sandbox2_testcase_starve PROPERTIES
242  OUTPUT_NAME starve
243)
244target_link_libraries(sandbox2_testcase_starve PRIVATE
245  -static
246  sapi::base
247)
248
249# sandboxed_api/sandbox2/testcases:tsync
250add_executable(sandbox2_testcase_tsync
251  tsync.cc
252)
253add_executable(sandbox2::testcase_tsync ALIAS sandbox2_testcase_tsync)
254set_target_properties(sandbox2_testcase_tsync PROPERTIES
255  OUTPUT_NAME tsync
256)
257target_link_libraries(sandbox2_testcase_tsync PRIVATE
258  -static
259  sandbox2::client
260  sandbox2::comms
261  sapi::base
262)
263
264# sandboxed_api/sandbox2/testcases:limits
265add_executable(sandbox2_testcase_limits
266  limits.cc
267)
268add_executable(sandbox2::testcase_limits ALIAS sandbox2_testcase_limits)
269set_target_properties(sandbox2_testcase_limits PROPERTIES
270  OUTPUT_NAME limits
271)
272target_link_libraries(sandbox2_testcase_limits PRIVATE
273  -static
274  sapi::base
275)
276
277# sandboxed_api/sandbox2/testcases:namespace
278add_executable(sandbox2_testcase_namespace
279  namespace.cc
280)
281add_executable(sandbox2::testcase_namespace ALIAS sandbox2_testcase_namespace)
282set_target_properties(sandbox2_testcase_namespace PROPERTIES
283  OUTPUT_NAME namespace
284)
285target_link_libraries(sandbox2_testcase_namespace PRIVATE
286  -static
287  absl::check
288  absl::flat_hash_set
289  absl::strings
290  sandbox2::comms
291  sapi::base
292  sapi::file_base
293  sapi::fileops
294)
295
296# sandboxed_api/sandbox2/testcases:network_proxy
297add_executable(sandbox2_testcase_network_proxy
298  network_proxy.cc
299)
300add_executable(sandbox2::testcase_network_proxy ALIAS sandbox2_testcase_network_proxy)
301set_target_properties(sandbox2_testcase_network_proxy PROPERTIES
302  OUTPUT_NAME network_proxy
303)
304target_link_libraries(sandbox2_testcase_network_proxy PRIVATE
305  absl::check
306  absl::flags
307  absl::flags_parse
308  absl::log
309  absl::log_globals
310  absl::log_initialize
311  absl::log_severity
312  absl::status
313  absl::statusor
314  absl::strings
315  absl::str_format
316  sandbox2::client
317  sandbox2::comms
318  sandbox2::network_proxy_client
319  sapi::base
320  sapi::file_base
321  sapi::fileops
322  sapi::status
323)
324
325# sandboxed_api/sandbox2/testcases:custom_fork
326add_executable(sandbox2_testcase_custom_fork
327  custom_fork.cc
328)
329add_executable(sandbox2::testcase_custom_fork ALIAS sandbox2_testcase_custom_fork)
330set_target_properties(sandbox2_testcase_custom_fork PROPERTIES
331  OUTPUT_NAME custom_fork
332)
333target_link_libraries(sandbox2_testcase_custom_fork PRIVATE
334  sandbox2::comms
335  sandbox2::forkingclient
336  sapi::base
337  sapi::raw_logging
338)
339
340
341