blob: 5a87251cb171a652b1f0742b1594d8332bc89a72 [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(
James Kuszmaulcc94ed42022-08-24 11:36:17 -070057 name = "error_counter",
58 hdrs = ["error_counter.h"],
59 target_compatible_with = ["@platforms//os:linux"],
60 deps = [
61 "@com_github_google_flatbuffers//:flatbuffers",
62 "@com_github_google_glog//:glog",
63 ],
64)
65
66cc_test(
67 name = "error_counter_test",
68 srcs = ["error_counter_test.cc"],
69 target_compatible_with = ["@platforms//os:linux"],
70 deps = [
71 ":error_counter",
72 "//aos:flatbuffers",
73 "//aos/events:event_loop_fbs",
74 "//aos/testing:googletest",
75 ],
76)
77
78cc_library(
James Kuszmaul4ed5fb12022-03-22 15:20:04 -070079 name = "mcap_logger",
80 srcs = ["mcap_logger.cc"],
81 hdrs = ["mcap_logger.h"],
82 target_compatible_with = ["@platforms//os:linux"],
83 deps = [
84 "//aos:configuration_fbs",
James Kuszmaule4aa01d2022-06-28 14:09:02 -070085 "//aos:configuration_schema",
James Kuszmaul4ed5fb12022-03-22 15:20:04 -070086 "//aos:fast_string_builder",
87 "//aos:flatbuffer_utils",
88 "//aos/events:event_loop",
89 "@com_github_nlohmann_json//:json",
90 ],
91)
92
James Kuszmaul5c56ed32022-03-30 15:10:07 -070093cc_binary(
94 name = "generate_test_log",
95 testonly = True,
96 srcs = ["generate_test_log.cc"],
97 data = ["//aos/events:pingpong_config"],
98 deps = [
99 "//aos:configuration",
100 "//aos/events:ping_lib",
101 "//aos/events:pong_lib",
102 "//aos/events:simulated_event_loop",
103 "//aos/events/logging:log_writer",
104 "//aos/testing:path",
105 ],
106)
107
108py_test(
109 name = "log_to_mcap_test",
110 srcs = ["log_to_mcap_test.py"],
111 args = [
112 "--log_to_mcap",
113 "$(location :log_to_mcap)",
114 "--mcap",
115 "$(location @com_github_foxglove_mcap_mcap//file)",
116 "--generate_log",
117 "$(location :generate_test_log)",
118 ],
119 data = [
120 ":generate_test_log",
121 ":log_to_mcap",
122 "@com_github_foxglove_mcap_mcap//file",
123 ],
124 target_compatible_with = ["@platforms//cpu:x86_64"],
125)
126
James Kuszmaul4ed5fb12022-03-22 15:20:04 -0700127cc_test(
128 name = "mcap_logger_test",
129 srcs = ["mcap_logger_test.cc"],
130 target_compatible_with = ["@platforms//os:linux"],
131 deps = [
132 ":mcap_logger",
133 "//aos/testing:googletest",
134 "@com_github_nlohmann_json//:json",
135 ],
136)
137
Brian Silverman100534c2015-09-07 15:51:23 -0400138cc_library(
James Kuszmaul0af658b2019-01-25 18:36:29 -0800139 name = "math",
140 hdrs = ["math.h"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800141 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul0af658b2019-01-25 18:36:29 -0800142 deps = [
Alex Perrycb7da4b2019-08-28 19:35:56 -0700143 "@org_tuxfamily_eigen//:eigen",
James Kuszmaul0af658b2019-01-25 18:36:29 -0800144 ],
145)
146
147cc_test(
148 name = "math_test",
149 srcs = ["math_test.cc"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800150 target_compatible_with = ["@platforms//os:linux"],
James Kuszmaul0af658b2019-01-25 18:36:29 -0800151 deps = [
152 ":math",
153 "//aos/testing:googletest",
154 ],
155)
156
157cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700158 name = "death_test_log_implementation",
159 hdrs = [
160 "death_test_log_implementation.h",
161 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800162 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700163 deps = [
John Park33858a32018-09-28 23:05:48 -0700164 "//aos/logging:implementations",
Brian Silverman6470f442018-08-05 12:08:16 -0700165 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400166)
167
168cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700169 name = "phased_loop",
170 srcs = [
171 "phased_loop.cc",
172 ],
173 hdrs = [
174 "phased_loop.h",
175 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800176 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700177 deps = [
James Kuszmaul0af658b2019-01-25 18:36:29 -0800178 "//aos/time",
Austin Schuhf257f3c2019-10-27 21:00:43 -0700179 "@com_github_google_glog//:glog",
Brian Silverman6470f442018-08-05 12:08:16 -0700180 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400181)
182
183cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700184 name = "log_interval",
185 hdrs = [
186 "log_interval.h",
187 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800188 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700189 deps = [
John Park33858a32018-09-28 23:05:48 -0700190 "//aos/logging",
James Kuszmaul0af658b2019-01-25 18:36:29 -0800191 "//aos/time",
Brian Silverman6470f442018-08-05 12:08:16 -0700192 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400193)
194
195cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700196 name = "trapezoid_profile",
197 srcs = [
198 "trapezoid_profile.cc",
199 ],
200 hdrs = [
201 "trapezoid_profile.h",
202 ],
203 linkopts = [
204 "-lm",
205 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800206 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700207 deps = [
John Park33858a32018-09-28 23:05:48 -0700208 "//aos/logging",
James Kuszmaul0af658b2019-01-25 18:36:29 -0800209 "//aos/time",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700210 "@org_tuxfamily_eigen//:eigen",
Brian Silverman6470f442018-08-05 12:08:16 -0700211 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400212)
213
214cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700215 name = "trapezoid_profile_test",
216 srcs = [
217 "trapezoid_profile_test.cc",
218 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800219 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700220 deps = [
221 ":trapezoid_profile",
222 "//aos/testing:googletest",
223 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400224)
225
226cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700227 name = "wrapping_counter",
228 srcs = [
229 "wrapping_counter.cc",
230 ],
231 hdrs = [
232 "wrapping_counter.h",
233 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800234 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman100534c2015-09-07 15:51:23 -0400235)
236
237cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700238 name = "wrapping_counter_test",
239 srcs = [
240 "wrapping_counter_test.cc",
241 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800242 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700243 deps = [
244 ":wrapping_counter",
245 "//aos/testing:googletest",
246 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400247)
248
Austin Schuh044e18b2015-10-21 20:17:09 -0700249cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700250 name = "options",
251 hdrs = [
252 "options.h",
253 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800254 target_compatible_with = ["@platforms//os:linux"],
Austin Schuh044e18b2015-10-21 20:17:09 -0700255)
256
Brian Silverman100534c2015-09-07 15:51:23 -0400257cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700258 name = "options_test",
259 srcs = [
260 "options_test.cc",
261 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800262 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700263 deps = [
264 ":options",
265 "//aos/testing:googletest",
266 ],
Brian Silverman100534c2015-09-07 15:51:23 -0400267)
Brian Silverman3d37a5f2014-09-05 18:42:20 -0400268
269cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700270 name = "compiler_memory_barrier",
271 hdrs = [
272 "compiler_memory_barrier.h",
273 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800274 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman3d37a5f2014-09-05 18:42:20 -0400275)
Brian Silverman521e6ba2014-09-04 13:37:46 -0400276
277cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700278 name = "global_factory",
279 hdrs = [
280 "global_factory.h",
281 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800282 target_compatible_with = ["@platforms//os:linux"],
Parker Schuh36416692017-02-18 17:34:15 -0800283)
284
285cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700286 name = "global_factory_test",
287 srcs = [
288 "global_factory_test.cc",
289 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800290 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700291 deps = [
292 ":global_factory",
293 "//aos/testing:googletest",
294 ],
Parker Schuh36416692017-02-18 17:34:15 -0800295)
296
Brian Silvermandcaa3f72015-11-29 05:32:08 +0000297cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700298 name = "phased_loop_test",
299 srcs = [
300 "phased_loop_test.cc",
301 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800302 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700303 deps = [
304 ":phased_loop",
305 "//aos/testing:googletest",
Brian Silverman8babd8f2020-06-23 16:38:50 -0700306 "//aos/time",
Brian Silverman6470f442018-08-05 12:08:16 -0700307 ],
Brian Silvermandcaa3f72015-11-29 05:32:08 +0000308)
Brian Silverman61175fb2016-03-13 15:35:56 -0400309
310cc_library(
Brian Silverman6470f442018-08-05 12:08:16 -0700311 name = "file",
312 srcs = [
313 "file.cc",
314 ],
315 hdrs = [
316 "file.h",
317 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800318 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700319 deps = [
John Park33858a32018-09-28 23:05:48 -0700320 "//aos/scoped:scoped_fd",
Alex Perrycb7da4b2019-08-28 19:35:56 -0700321 "@com_github_google_glog//:glog",
Austin Schuhcb108412019-10-13 16:09:54 -0700322 "@com_google_absl//absl/strings",
davidjevans8b9b52f2021-09-17 08:57:30 -0700323 "@com_google_absl//absl/types:span",
Brian Silverman6470f442018-08-05 12:08:16 -0700324 ],
Brian Silverman61175fb2016-03-13 15:35:56 -0400325)
326
327cc_test(
Brian Silverman6470f442018-08-05 12:08:16 -0700328 name = "file_test",
329 size = "small",
330 srcs = [
331 "file_test.cc",
332 ],
Philipp Schraderdada1072020-11-24 11:34:46 -0800333 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700334 deps = [
335 ":file",
336 "//aos/testing:googletest",
Brian Silverman6470f442018-08-05 12:08:16 -0700337 ],
338)
339
James Kuszmaul418fd062022-03-22 15:22:27 -0700340flatbuffer_cc_library(
341 name = "process_info_fbs",
342 srcs = ["process_info.fbs"],
343 gen_reflections = True,
344 target_compatible_with = ["@platforms//os:linux"],
345 visibility = ["//visibility:public"],
346)
347
348cc_library(
349 name = "top",
350 srcs = ["top.cc"],
351 hdrs = ["top.h"],
352 target_compatible_with = ["@platforms//os:linux"],
353 deps = [
354 ":process_info_fbs",
355 "//aos/containers:ring_buffer",
356 "//aos/events:event_loop",
357 "@com_github_google_glog//:glog",
358 "@com_google_absl//absl/strings",
359 ],
360)
361
362cc_test(
363 name = "top_test",
364 srcs = ["top_test.cc"],
365 data = [
366 "//aos/events:pingpong_config",
367 ],
368 flaky = True,
369 target_compatible_with = ["@platforms//os:linux"],
370 deps = [
371 ":top",
372 "//aos/events:shm_event_loop",
373 "//aos/testing:googletest",
374 "//aos/testing:path",
375 "//aos/testing:tmpdir",
376 ],
377)
378
James Kuszmaul731a05d2022-01-07 17:59:26 -0800379cc_library(
380 name = "scoped_pipe",
381 srcs = ["scoped_pipe.cc"],
382 hdrs = ["scoped_pipe.h"],
383 target_compatible_with = ["@platforms//os:linux"],
384 deps = [
385 "@com_github_google_glog//:glog",
386 "@com_google_absl//absl/types:span",
387 ],
388)
389
390cc_test(
391 name = "scoped_pipe_test",
392 srcs = ["scoped_pipe_test.cc"],
393 target_compatible_with = ["@platforms//os:linux"],
394 deps = [
395 ":scoped_pipe",
396 "//aos/testing:googletest",
397 ],
398)
399
Ravago Jonese12b7902022-02-04 22:50:44 -0800400cc_library(
401 name = "crc32",
402 srcs = ["crc32.cc"],
403 hdrs = ["crc32.h"],
404 deps = [
405 "@com_google_absl//absl/types:span",
406 ],
407)
408
Brian Silverman6470f442018-08-05 12:08:16 -0700409py_library(
410 name = "python_init",
411 srcs = ["__init__.py"],
Philipp Schraderdada1072020-11-24 11:34:46 -0800412 target_compatible_with = ["@platforms//os:linux"],
Brian Silverman6470f442018-08-05 12:08:16 -0700413 visibility = ["//visibility:public"],
John Park33858a32018-09-28 23:05:48 -0700414 deps = ["//aos:python_init"],
Brian Silverman61175fb2016-03-13 15:35:56 -0400415)
James Kuszmaule5deaa42022-06-24 16:29:31 -0700416
417cc_library(
418 name = "threaded_queue",
419 hdrs = [
420 "threaded_queue.h",
421 "threaded_queue_tmpl.h",
422 ],
423 deps = [
424 "//aos:condition",
425 "//aos/mutex",
426 ],
427)
428
429cc_test(
430 name = "threaded_queue_test",
431 srcs = ["threaded_queue_test.cc"],
432 deps = [
433 ":threaded_queue",
434 "//aos/testing:googletest",
435 ],
436)
Milo Lin0ddb7782022-08-17 20:40:43 -0700437
438cc_binary(
439 name = "config_validator",
440 testonly = True,
441 srcs = ["config_validator.cc"],
442 target_compatible_with = ["@platforms//os:linux"],
443 deps = [
444 "//aos:init",
445 "//aos:json_to_flatbuffer",
446 "//aos/events:simulated_event_loop",
447 "//aos/events/logging:log_reader",
448 "//aos/events/logging:log_writer",
449 "//aos/testing:googletest",
450 "@com_github_gflags_gflags//:gflags",
451 "@com_github_google_glog//:glog",
452 "@com_google_googletest//:gtest",
453 ],
454)