blob: 0808062ee36538fbf744ba0daa0967ef0eb50da9 [file] [log] [blame]
James Kuszmaul418fd062022-03-22 15:22:27 -07001load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
Milo Lin0ddb7782022-08-17 20:40:43 -07002load("config_validator_macro.bzl", "config_validator_rule")
James Kuszmaul418fd062022-03-22 15:22:27 -07003
Brian Silverman6470f442018-08-05 12:08:16 -07004package(default_visibility = ["//visibility:public"])
Brian Silverman100534c2015-09-07 15:51:23 -04005
Milo Lin0ddb7782022-08-17 20:40:43 -07006config_validator_rule(
7 name = "config_validator_test",
8 config = "//aos/events:pingpong_config",
9)
10
Brian Silverman246cb222019-02-02 16:38:18 -080011cc_library(
12 name = "bitpacking",
13 hdrs = [
14 "bitpacking.h",
15 ],
16 visibility = ["//visibility:public"],
17 deps = [
Austin Schuhb72be802022-01-02 12:26:28 -080018 "@com_google_absl//absl/types:span",
Brian Silverman246cb222019-02-02 16:38:18 -080019 ],
20)
21
22cc_test(
23 name = "bitpacking_test",
24 srcs = [
25 "bitpacking_test.cc",
26 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080027 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman246cb222019-02-02 16:38:18 -080028 deps = [
29 ":bitpacking",
30 "//aos/testing:googletest",
31 ],
32)
33
Diana Vandenberg19bb9e22016-02-03 21:24:31 -080034py_library(
Brian Silverman6470f442018-08-05 12:08:16 -070035 name = "py_trapezoid_profile",
36 srcs = [
37 "trapezoid_profile.py",
38 ],
Philipp Schraderdada1072020-11-24 11:34:46 -080039 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -070040 deps = [
41 ":python_init",
42 ],
Diana Vandenberg19bb9e22016-02-03 21:24:31 -080043)
44
James Kuszmaul4ed5fb12022-03-22 15:20:04 -070045cc_binary(
46 name = "log_to_mcap",
47 srcs = ["log_to_mcap.cc"],
48 deps = [
49 ":mcap_logger",
50 "//aos:init",
51 "//aos/events/logging:log_reader",
52 "//frc971/control_loops:control_loops_fbs",
53 ],
54)
55
56cc_library(
57 name = "mcap_logger",
58 srcs = ["mcap_logger.cc"],
59 hdrs = ["mcap_logger.h"],
60 target_compatible_with = ["@platforms//os:linux"],
61 deps = [
62 "//aos:configuration_fbs",
James Kuszmaule4aa01d2022-06-28 14:09:02 -070063 "//aos:configuration_schema",
James Kuszmaul4ed5fb12022-03-22 15:20:04 -070064 "//aos:fast_string_builder",
65 "//aos:flatbuffer_utils",
66 "//aos/events:event_loop",
67 "@com_github_nlohmann_json//:json",
68 ],
69)
70
James Kuszmaul5c56ed32022-03-30 15:10:07 -070071cc_binary(
72 name = "generate_test_log",
73 testonly = True,
74 srcs = ["generate_test_log.cc"],
75 data = ["//aos/events:pingpong_config"],
76 deps = [
77 "//aos:configuration",
78 "//aos/events:ping_lib",
79 "//aos/events:pong_lib",
80 "//aos/events:simulated_event_loop",
81 "//aos/events/logging:log_writer",
82 "//aos/testing:path",
83 ],
84)
85
86py_test(
87 name = "log_to_mcap_test",
88 srcs = ["log_to_mcap_test.py"],
89 args = [
90 "--log_to_mcap",
91 "$(location :log_to_mcap)",
92 "--mcap",
93 "$(location @com_github_foxglove_mcap_mcap//file)",
94 "--generate_log",
95 "$(location :generate_test_log)",
96 ],
97 data = [
98 ":generate_test_log",
99 ":log_to_mcap",
100 "@com_github_foxglove_mcap_mcap//file",
101 ],
102 target_compatible_with = ["@platforms//cpu:x86_64"],
103)
104
James Kuszmaul4ed5fb12022-03-22 15:20:04 -0700105cc_test(
106 name = "mcap_logger_test",
107 srcs = ["mcap_logger_test.cc"],
108 target_compatible_with = ["@platforms//os:linux"],
109 deps = [
110 ":mcap_logger",
111 "//aos/testing:googletest",
112 "@com_github_nlohmann_json//:json",
113 ],
114)
115
Brian Silverman100534c2015-09-07 15:51:23 -0400116cc_library(
James Kuszmaul0af658b2019-01-25 18:36:29 -0800117 name = "math",
118 hdrs = ["math.h"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800119 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul0af658b2019-01-25 18:36:29 -0800120 deps = [
Alex Perrycb7da4b2019-08-28 19:35:56 -0700121 "@org_tuxfamily_eigen//:eigen",
James Kuszmaul0af658b2019-01-25 18:36:29 -0800122 ],
123)
124
125cc_test(
126 name = "math_test",
127 srcs = ["math_test.cc"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800128 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul0af658b2019-01-25 18:36:29 -0800129 deps = [
130 ":math",
131 "//aos/testing:googletest",
132 ],
133)
134
135cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700136 name = "death_test_log_implementation",
137 hdrs = [
138 "death_test_log_implementation.h",
139 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800140 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700141 deps = [
John Park33858a32018-09-28 23:05:48 -0700142 "//aos/logging:implementations",
Brian Silverman6470f442018-08-05 12:08:16 -0700143 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400144)
145
146cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700147 name = "phased_loop",
148 srcs = [
149 "phased_loop.cc",
150 ],
151 hdrs = [
152 "phased_loop.h",
153 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800154 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700155 deps = [
James Kuszmaul0af658b2019-01-25 18:36:29 -0800156 "//aos/time",
Austin Schuhf257f3c2019-10-27 21:00:43 -0700157 "@com_github_google_glog//:glog",
Brian Silverman6470f442018-08-05 12:08:16 -0700158 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400159)
160
161cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700162 name = "log_interval",
163 hdrs = [
164 "log_interval.h",
165 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800166 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700167 deps = [
John Park33858a32018-09-28 23:05:48 -0700168 "//aos/logging",
James Kuszmaul0af658b2019-01-25 18:36:29 -0800169 "//aos/time",
Brian Silverman6470f442018-08-05 12:08:16 -0700170 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400171)
172
173cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700174 name = "trapezoid_profile",
175 srcs = [
176 "trapezoid_profile.cc",
177 ],
178 hdrs = [
179 "trapezoid_profile.h",
180 ],
181 linkopts = [
182 "-lm",
183 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800184 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700185 deps = [
John Park33858a32018-09-28 23:05:48 -0700186 "//aos/logging",
James Kuszmaul0af658b2019-01-25 18:36:29 -0800187 "//aos/time",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700188 "@org_tuxfamily_eigen//:eigen",
Brian Silverman6470f442018-08-05 12:08:16 -0700189 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400190)
191
192cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700193 name = "trapezoid_profile_test",
194 srcs = [
195 "trapezoid_profile_test.cc",
196 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800197 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700198 deps = [
199 ":trapezoid_profile",
200 "//aos/testing:googletest",
201 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400202)
203
204cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700205 name = "wrapping_counter",
206 srcs = [
207 "wrapping_counter.cc",
208 ],
209 hdrs = [
210 "wrapping_counter.h",
211 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800212 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman100534c2015-09-07 15:51:23 -0400213)
214
215cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700216 name = "wrapping_counter_test",
217 srcs = [
218 "wrapping_counter_test.cc",
219 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800220 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700221 deps = [
222 ":wrapping_counter",
223 "//aos/testing:googletest",
224 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400225)
226
Austin Schuh044e18b2015-10-21 20:17:09 -0700227cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700228 name = "options",
229 hdrs = [
230 "options.h",
231 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800232 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh044e18b2015-10-21 20:17:09 -0700233)
234
Brian Silverman100534c2015-09-07 15:51:23 -0400235cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700236 name = "options_test",
237 srcs = [
238 "options_test.cc",
239 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800240 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700241 deps = [
242 ":options",
243 "//aos/testing:googletest",
244 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400245)
Brian Silverman3d37a5f2014-09-05 18:42:20 -0400246
247cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700248 name = "compiler_memory_barrier",
249 hdrs = [
250 "compiler_memory_barrier.h",
251 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800252 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman3d37a5f2014-09-05 18:42:20 -0400253)
Brian Silverman521e6ba2014-09-04 13:37:46 -0400254
255cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700256 name = "global_factory",
257 hdrs = [
258 "global_factory.h",
259 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800260 target_compatible_with = ["@platforms//os:linux"],
Parker Schuh36416692017-02-18 17:34:15 -0800261)
262
263cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700264 name = "global_factory_test",
265 srcs = [
266 "global_factory_test.cc",
267 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800268 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700269 deps = [
270 ":global_factory",
271 "//aos/testing:googletest",
272 ],
Parker Schuh36416692017-02-18 17:34:15 -0800273)
274
Brian Silvermandcaa3f72015-11-29 05:32:08 +0000275cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700276 name = "phased_loop_test",
277 srcs = [
278 "phased_loop_test.cc",
279 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800280 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700281 deps = [
282 ":phased_loop",
283 "//aos/testing:googletest",
Brian Silverman8babd8f2020-06-23 16:38:50 -0700284 "//aos/time",
Brian Silverman6470f442018-08-05 12:08:16 -0700285 ],
Brian Silvermandcaa3f72015-11-29 05:32:08 +0000286)
Brian Silverman61175fb2016-03-13 15:35:56 -0400287
288cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700289 name = "file",
290 srcs = [
291 "file.cc",
292 ],
293 hdrs = [
294 "file.h",
295 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800296 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700297 deps = [
John Park33858a32018-09-28 23:05:48 -0700298 "//aos/scoped:scoped_fd",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700299 "@com_github_google_glog//:glog",
Austin Schuhcb108412019-10-13 16:09:54 -0700300 "@com_google_absl//absl/strings",
davidjevans8b9b52f2021-09-17 08:57:30 -0700301 "@com_google_absl//absl/types:span",
Brian Silverman6470f442018-08-05 12:08:16 -0700302 ],
Brian Silverman61175fb2016-03-13 15:35:56 -0400303)
304
305cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700306 name = "file_test",
307 size = "small",
308 srcs = [
309 "file_test.cc",
310 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800311 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700312 deps = [
313 ":file",
314 "//aos/testing:googletest",
Brian Silverman6470f442018-08-05 12:08:16 -0700315 ],
316)
317
James Kuszmaul418fd062022-03-22 15:22:27 -0700318flatbuffer_cc_library(
319 name = "process_info_fbs",
320 srcs = ["process_info.fbs"],
321 gen_reflections = True,
322 target_compatible_with = ["@platforms//os:linux"],
323 visibility = ["//visibility:public"],
324)
325
326cc_library(
327 name = "top",
328 srcs = ["top.cc"],
329 hdrs = ["top.h"],
330 target_compatible_with = ["@platforms//os:linux"],
331 deps = [
332 ":process_info_fbs",
333 "//aos/containers:ring_buffer",
334 "//aos/events:event_loop",
335 "@com_github_google_glog//:glog",
336 "@com_google_absl//absl/strings",
337 ],
338)
339
340cc_test(
341 name = "top_test",
342 srcs = ["top_test.cc"],
343 data = [
344 "//aos/events:pingpong_config",
345 ],
346 flaky = True,
347 target_compatible_with = ["@platforms//os:linux"],
348 deps = [
349 ":top",
350 "//aos/events:shm_event_loop",
351 "//aos/testing:googletest",
352 "//aos/testing:path",
353 "//aos/testing:tmpdir",
354 ],
355)
356
James Kuszmaul731a05d2022-01-07 17:59:26 -0800357cc_library(
358 name = "scoped_pipe",
359 srcs = ["scoped_pipe.cc"],
360 hdrs = ["scoped_pipe.h"],
361 target_compatible_with = ["@platforms//os:linux"],
362 deps = [
363 "@com_github_google_glog//:glog",
364 "@com_google_absl//absl/types:span",
365 ],
366)
367
368cc_test(
369 name = "scoped_pipe_test",
370 srcs = ["scoped_pipe_test.cc"],
371 target_compatible_with = ["@platforms//os:linux"],
372 deps = [
373 ":scoped_pipe",
374 "//aos/testing:googletest",
375 ],
376)
377
Ravago Jonese12b7902022-02-04 22:50:44 -0800378cc_library(
379 name = "crc32",
380 srcs = ["crc32.cc"],
381 hdrs = ["crc32.h"],
382 deps = [
383 "@com_google_absl//absl/types:span",
384 ],
385)
386
Brian Silverman6470f442018-08-05 12:08:16 -0700387py_library(
388 name = "python_init",
389 srcs = ["__init__.py"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800390 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700391 visibility = ["//visibility:public"],
John Park33858a32018-09-28 23:05:48 -0700392 deps = ["//aos:python_init"],
Brian Silverman61175fb2016-03-13 15:35:56 -0400393)
James Kuszmaule5deaa42022-06-24 16:29:31 -0700394
395cc_library(
396 name = "threaded_queue",
397 hdrs = [
398 "threaded_queue.h",
399 "threaded_queue_tmpl.h",
400 ],
401 deps = [
402 "//aos:condition",
403 "//aos/mutex",
404 ],
405)
406
407cc_test(
408 name = "threaded_queue_test",
409 srcs = ["threaded_queue_test.cc"],
410 deps = [
411 ":threaded_queue",
412 "//aos/testing:googletest",
413 ],
414)
Milo Lin0ddb7782022-08-17 20:40:43 -0700415
416cc_binary(
417 name = "config_validator",
418 testonly = True,
419 srcs = ["config_validator.cc"],
420 target_compatible_with = ["@platforms//os:linux"],
421 deps = [
422 "//aos:init",
423 "//aos:json_to_flatbuffer",
424 "//aos/events:simulated_event_loop",
425 "//aos/events/logging:log_reader",
426 "//aos/events/logging:log_writer",
427 "//aos/testing:googletest",
428 "@com_github_gflags_gflags//:gflags",
429 "@com_github_google_glog//:glog",
430 "@com_google_googletest//:gtest",
431 ],
432)