Skip to content

Commit 0ba70ab

Browse files
AskewParityCopilot
andauthored
Chore: Prune Integration Tests (#272)
* chore: prune airdrop_packets * chore: change config to look for mock images in obcpp/images/mock * chore: remove camera_playground * qol: cuda_check now prints english boolean values * chore: cv_aggregator | lint | template for dependencies * chore: delete old cv tests * chore: prune cv_mapping | update camera_mock cli warning | camera_mock pruning * chore: prune cv_pipeline | add header comment * chore: make integration tests take png | prune + header comment for cv_preprocess * chore: cv_yolo * chore: remove print from deviation code | make deviation integration test match other pathing tests * chore: prune dependencies for deviation ranking * chore: prune drop_it... dependencies * chore: delete load_torchvision_model integration test * chore: prune mavlink_client integratino test * fix: circular dependency between camera and mavlink | chore: prune plotting * chore: prune picam dependencies + cmake * chore: uncomment redundant imports for path_plotting (for 'readability' * Update tests/integration/cv_yolo.cpp Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]>
1 parent 7661062 commit 0ba70ab

27 files changed

+112
-631
lines changed

configs/dev.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
"save_dir": "/workspaces/obcpp/images/",
6363
"save_images_to_file": false,
6464
"mock": {
65-
"images_dir": "/workspaces/obcpp/tests/integration/images/saliency/"
65+
"images_dir": "/workspaces/obcpp/images/mock/"
6666
},
6767
"lucid": {
6868
"sensor_shutter_mode": "Rolling",

include/camera/interface.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
#include <opencv2/opencv.hpp>
1414
#include <opencv2/core/mat.hpp>
1515

16-
#include "network/mavlink.hpp"
16+
// Forward declaration to avoid circular dependency
17+
// #include "network/mavlink.hpp"
18+
class MavlinkClient;
1719
#include "utilities/datatypes.hpp"
1820
#include "utilities/obc_config.hpp"
1921

src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ add_subdirectory(utilities)
1717
add_library(obcpp_lib INTERFACE)
1818
target_link_libraries(obcpp_lib INTERFACE
1919
obcpp_protos
20+
obcpp_network
2021
obcpp_camera
2122
obcpp_core
2223
obcpp_cv
23-
obcpp_network
2424
obcpp_pathing
2525
obcpp_ticks
2626
obcpp_utilities

src/camera/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ set(FILES
88

99
SET(LIB_DEPS
1010
obcpp_protos
11-
obcpp_network
11+
# obcpp_network # circular dependency
1212
)
1313

1414
add_library(${LIB_NAME} STATIC

src/camera/interface.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include "nlohmann/json.hpp"
88
#include <loguru.hpp>
99

10+
#include "network/mavlink.hpp" // imported here but not in the header due to circular dependency
1011
#include "utilities/base64.hpp"
1112

1213
using json = nlohmann::json;

src/camera/mock.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ MockCamera::MockCamera(CameraConfig config) : CameraInterface(config) {
3030
0,
3131
telemetry);
3232
this->mock_images.push_back(img_data);
33-
} else {
34-
LOG_F(ERROR, "IMG DIRECTORY IS EMPTY | RIP CAT");
3533
}
3634
});
3735
}

src/core/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@ set(FILES
77
)
88

99
set(LIB_DEPS
10-
obcpp_protos
1110
obcpp_camera
1211
obcpp_cv
13-
obcpp_network
1412
obcpp_pathing
13+
obcpp_protos
1514
obcpp_ticks
1615
obcpp_utilities
1716
)

src/network/CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,10 @@ set(MOCK_FILES
1919
)
2020

2121
set(LIB_DEPS
22-
obcpp_protos
23-
obcpp_utilities
24-
obcpp_ticks
2522
obcpp_core
2623
obcpp_pathing
24+
obcpp_protos
25+
obcpp_utilities
2726
)
2827

2928
add_library(${LIB_NAME} STATIC

src/pathing/static.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,6 @@ std::vector<std::vector<XYZCoord>> generateRankedNewGoalsList(const std::vector<
552552
std::vector<XYZCoord> deviation_points;
553553
for (int i = 0; i < 200; i++) {
554554
deviation_points.push_back(mapping_bounds.getRandomPoint(true));
555-
printf("Deviation point: %f, %f\n", deviation_points.back().x, deviation_points.back().y);
556555
}
557556

558557
// each deviation point can be inserted between any two goals

tests/integration/CMakeLists.txt

Lines changed: 23 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
# LIST OF ALL TARGETS
2+
# add_executable(EXECUTABLE_NAME "SRC_FILE_WITH_MAIN.cpp")
3+
# target_link_libraries(EXECUTABLE_NAME PRIVATE obcpp_lib)
4+
# target_include_directories(EXECUTABLE_NAME PRIVATE ${INCLUDE_DIRECTORY} ${GEN_PROTOS_DIRECTORY})
5+
# target_add_torch(EXECUTABLE_NAME)
6+
# target_add_json(EXECUTABLE_NAME)
7+
# target_add_opencv(EXECUTABLE_NAME)
8+
# target_add_httplib(EXECUTABLE_NAME)
9+
# target_add_mavsdk(EXECUTABLE_NAME)
10+
# target_add_matplot(EXECUTABLE_NAME)
11+
# target_add_protobuf(EXECUTABLE_NAME)
12+
# target_add_loguru(EXECUTABLE_NAME)
13+
# target_add_onnxruntime(EXECUTABLE_NAME)
14+
# # for some reason calling target_add_imagemagick here conflicts with, so we are including/linking without the function call
15+
# # target_add_imagemagick(path_plotting)
16+
# target_include_directories(EXECUTABLE_NAME PRIVATE ${ImageMagick_INCLUDE_DIRS})
17+
# target_link_libraries(EXECUTABLE_NAME PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
18+
19+
20+
121
# playground
222
add_executable(playground "playground.cpp")
323
target_link_libraries(playground PRIVATE obcpp_lib)
@@ -16,126 +36,56 @@ target_add_onnxruntime(playground)
1636
target_include_directories(playground PRIVATE ${ImageMagick_INCLUDE_DIRS})
1737
target_link_libraries(playground PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
1838

19-
# load_torchvision_model
20-
add_executable(load_torchvision_model "load_torchvision_model.cpp")
21-
target_link_libraries(load_torchvision_model PRIVATE obcpp_lib)
22-
target_add_torch(load_torchvision_model)
23-
target_add_torchvision(load_torchvision_model)
24-
target_add_loguru(load_torchvision_model)
25-
2639
# mavlink-client
2740
add_executable(mavlink_client "mavlink_client.cpp")
2841
target_link_libraries(mavlink_client PRIVATE obcpp_lib)
2942
target_include_directories(mavlink_client PRIVATE ${INCLUDE_DIRECTORY})
30-
target_add_protobuf(mavlink_client)
31-
target_add_torch(mavlink_client)
32-
target_add_torchvision(mavlink_client)
33-
target_add_json(mavlink_client)
34-
target_add_opencv(mavlink_client)
35-
target_add_httplib(mavlink_client)
3643
target_add_mavsdk(mavlink_client)
3744
target_add_matplot(mavlink_client)
3845
target_add_loguru(mavlink_client)
39-
target_add_onnxruntime(mavlink_client)
40-
# for some reason calling target_add_imagemagick here conflicts with, so we are including/linking without the function call
41-
# target_add_imagemagick(path_plotting)
42-
target_include_directories(mavlink_client PRIVATE ${ImageMagick_INCLUDE_DIRS})
43-
target_link_libraries(mavlink_client PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
4446

4547
# cv_pipeline
4648
add_executable(cv_pipeline "cv_pipeline.cpp")
4749
target_link_libraries(cv_pipeline PRIVATE obcpp_lib)
4850
target_add_json(cv_pipeline)
4951
target_add_matplot(cv_pipeline)
50-
target_add_opencv(cv_pipeline)
5152
target_add_loguru(cv_pipeline)
52-
target_add_httplib(cv_pipeline)
53-
target_add_protobuf(cv_pipeline)
54-
target_add_torch(cv_pipeline)
55-
target_add_torchvision(cv_pipeline)
5653
target_add_mavsdk(cv_pipeline)
57-
target_add_loguru(cv_pipeline)
58-
target_add_onnxruntime(cv_pipeline)
59-
# for some reason calling target_add_imagemagick here conflicts with, so we are including/linking without the function call
60-
# target_add_imagemagick(path_plotting)
61-
target_include_directories(cv_pipeline PRIVATE ${ImageMagick_INCLUDE_DIRS})
62-
target_link_libraries(cv_pipeline PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
6354

6455
# cv_aggregator
6556
add_executable(cv_aggregator ${SOURCES} "cv_aggregator.cpp")
6657
target_link_libraries(cv_aggregator PRIVATE obcpp_lib)
6758
target_add_json(cv_aggregator)
6859
target_add_matplot(cv_aggregator)
69-
target_add_opencv(cv_aggregator)
7060
target_add_loguru(cv_aggregator)
71-
target_add_httplib(cv_aggregator)
72-
target_add_protobuf(cv_aggregator)
73-
target_add_torch(cv_aggregator)
74-
target_add_torchvision(cv_aggregator)
7561
target_add_mavsdk(cv_aggregator)
76-
target_add_loguru(cv_aggregator)
77-
target_add_onnxruntime(cv_aggregator)
78-
# for some reason calling target_add_imagemagick here conflicts with, so we are including/linking without the function call
79-
# target_add_imagemagick(path_plotting)
80-
target_include_directories(cv_aggregator PRIVATE ${ImageMagick_INCLUDE_DIRS})
81-
target_link_libraries(cv_aggregator PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
8262

8363
# cv_preprocess
8464
add_executable(cv_preprocess ${SOURCES} "cv_preprocess.cpp")
8565
target_link_libraries(cv_preprocess PRIVATE obcpp_lib)
8666
target_include_directories(cv_preprocess PRIVATE ${INCLUDE_DIRECTORY})
87-
target_add_opencv(cv_preprocess)
8867
target_add_matplot(cv_preprocess)
89-
target_add_json(cv_preprocess)
90-
target_add_loguru(cv_preprocess)
91-
target_include_directories(cv_preprocess PRIVATE ${ImageMagick_INCLUDE_DIRS})
92-
target_link_libraries(cv_preprocess PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
9368

9469
# cv_mapping
9570
add_executable(cv_mapping ${SOURCES} "cv_mapping.cpp")
9671
target_link_libraries(cv_mapping PRIVATE obcpp_lib)
9772
target_include_directories(cv_mapping PRIVATE ${INCLUDE_DIRECTORY})
98-
target_add_opencv(cv_mapping)
99-
target_add_matplot(cv_mapping)
100-
target_add_json(cv_mapping)
101-
target_add_loguru(cv_mapping)
102-
target_include_directories(cv_mapping PRIVATE ${ImageMagick_INCLUDE_DIRS})
103-
target_link_libraries(cv_mapping PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
10473

10574
# cv_yolo
10675
add_executable(cv_yolo ${SOURCES} "cv_yolo.cpp")
10776
target_link_libraries(cv_yolo PRIVATE obcpp_lib)
10877
target_include_directories(cv_yolo PRIVATE ${INCLUDE_DIRECTORY})
109-
target_add_torch(cv_yolo)
110-
target_add_opencv(cv_yolo)
111-
target_add_torchvision(cv_yolo)
112-
target_add_matplot(cv_yolo)
113-
target_add_json(cv_yolo)
114-
target_add_loguru(cv_yolo)
115-
target_add_onnxruntime(cv_yolo)
116-
target_include_directories(cv_yolo PRIVATE ${ImageMagick_INCLUDE_DIRS})
117-
target_link_libraries(cv_yolo PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
11878

11979
# for some reason calling target_add_imagemagick here conflicts with, so we are including/linking without the function call
12080
# target_add_imagemagick(${PROJECT_NAME})
12181
target_include_directories(${PROJECT_NAME} PRIVATE ${ImageMagick_INCLUDE_DIRS})
12282
target_link_libraries(${PROJECT_NAME} PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
83+
12384
# path_plotting
12485
add_executable(path_plotting "path_plotting.cpp")
12586
target_link_libraries(path_plotting PRIVATE obcpp_lib)
126-
target_add_torch(path_plotting)
127-
target_add_json(path_plotting)
128-
target_add_httplib(path_plotting)
129-
target_add_mavsdk(path_plotting)
87+
target_include_directories(path_plotting PRIVATE ${INCLUDE_DIRECTORY})
13088
target_add_matplot(path_plotting)
131-
target_add_protobuf(path_plotting)
132-
target_add_opencv(path_plotting)
133-
target_add_loguru(path_plotting)
134-
target_add_onnxruntime(path_plotting)
135-
# for some reason calling target_add_imagemagick here conflicts with, so we are including/linking without the function call
136-
# target_add_imagemagick(path_plotting)
137-
target_include_directories(path_plotting PRIVATE ${ImageMagick_INCLUDE_DIRS})
138-
target_link_libraries(path_plotting PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
13989

14090
add_executable(path_planning "path_planning.cpp")
14191
target_link_libraries(path_planning PRIVATE obcpp_lib)
@@ -168,111 +118,48 @@ target_add_loguru(airdrop_approach)
168118
add_executable(deviation_ranking "deviation_ranking.cpp")
169119
target_link_libraries(deviation_ranking PRIVATE obcpp_lib)
170120
target_include_directories(deviation_ranking PRIVATE ${INCLUDE_DIRECTORY})
171-
target_add_protobuf(deviation_ranking)
172-
target_add_torch(deviation_ranking)
173-
target_add_torchvision(deviation_ranking)
174121
target_add_json(deviation_ranking)
175-
target_add_opencv(deviation_ranking)
176122
target_add_httplib(deviation_ranking)
177123
target_add_mavsdk(deviation_ranking)
178124
target_add_matplot(deviation_ranking)
179125
target_add_loguru(deviation_ranking)
180126

181-
target_include_directories(deviation_ranking PRIVATE ${ImageMagick_INCLUDE_DIRS})
182-
target_link_libraries(deviation_ranking PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
183127

184128
add_executable(airdrop_packets "airdrop_packets.cpp")
185129
target_link_libraries(airdrop_packets PRIVATE obcpp_lib)
186130
target_include_directories(airdrop_packets PRIVATE ${INCLUDE_DIRECTORY})
187131
target_add_protobuf(airdrop_packets)
188-
target_add_torch(airdrop_packets)
189-
target_add_torchvision(airdrop_packets)
190-
target_add_json(airdrop_packets)
191-
target_add_opencv(airdrop_packets)
192-
target_add_httplib(airdrop_packets)
193-
target_add_mavsdk(airdrop_packets)
194132
target_add_matplot(airdrop_packets)
195133
target_add_loguru(airdrop_packets)
196-
target_add_onnxruntime(airdrop_packets)
197-
198-
target_include_directories(airdrop_packets PRIVATE ${ImageMagick_INCLUDE_DIRS})
199-
target_link_libraries(airdrop_packets PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
200134

201135
# airdrop_sockets
202136
# add_executable(airdrop_sockets src/network/airdrop_sockets.c tests/integration/airdrop_sockets.c)
203137
# target_include_directories(airdrop_sockets PRIVATE ${INCLUDE_DIRECTORY})
204138

205-
# add_executable(camera_playground camera_playground.cpp)
206-
# target_include_directories(camera_playground PRIVATE ${INCLUDE_DIRECTORY})
207-
# add_custom_target(
208-
# run_camera_playground
209-
# ${CMAKE_COMMAND}
210-
# -E env LD_LIBRARY_s/target_siamese_1.pt
211-
# )
212-
213139
add_executable(camera_mock "camera_mock.cpp")
214140
target_link_libraries(camera_mock PRIVATE obcpp_lib)
215141
target_include_directories(camera_mock PRIVATE ${INCLUDE_DIRECTORY})
216-
target_add_protobuf(camera_mock)
217-
target_add_torch(camera_mock)
218-
target_add_torchvision(camera_mock)
219142
target_add_json(camera_mock)
220-
target_add_opencv(camera_mock)
221-
target_add_httplib(camera_mock)
222143
target_add_mavsdk(camera_mock)
223144
target_add_matplot(camera_mock)
224145
target_add_loguru(camera_mock)
225-
target_add_onnxruntime(camera_mock)
226-
target_include_directories(camera_mock PRIVATE ${ImageMagick_INCLUDE_DIRS})
227-
target_link_libraries(camera_mock PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
228146

229147
# cuda_check
230148
add_executable(cuda_check ${SOURCES} cuda_check.cpp)
231149
target_add_torch(cuda_check)
232-
target_add_json(cuda_check)
233-
target_add_httplib(cuda_check)
234-
target_add_mavsdk(cuda_check)
235-
target_add_matplot(cuda_check)
236-
target_add_protobuf(cuda_check)
237-
target_add_opencv(cuda_check)
238-
target_add_loguru(cuda_check)
239-
target_add_onnxruntime(cuda_check)
240-
# for some reason calling target_add_imagemagick here conflicts with, so we are including/linking without the function call
241-
# target_add_imagemagick(cuda_check)
242-
target_include_directories(cuda_check PRIVATE ${ImageMagick_INCLUDE_DIRS})
243-
target_link_libraries(cuda_check PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
244-
245-
246150

247151
add_executable(drop_it_like_its_hot "drop_it_like_its_hot.cpp")
248152
target_link_libraries(drop_it_like_its_hot PRIVATE obcpp_lib)
249153
target_include_directories(drop_it_like_its_hot PRIVATE ${INCLUDE_DIRECTORY})
250-
target_add_protobuf(drop_it_like_its_hot)
251-
target_add_torch(drop_it_like_its_hot)
252-
target_add_torchvision(drop_it_like_its_hot)
253154
target_add_json(drop_it_like_its_hot)
254-
target_add_opencv(drop_it_like_its_hot)
255-
target_add_httplib(drop_it_like_its_hot)
256155
target_add_mavsdk(drop_it_like_its_hot)
257156
target_add_matplot(drop_it_like_its_hot)
258157
target_add_loguru(drop_it_like_its_hot)
259-
target_add_onnxruntime(drop_it_like_its_hot)
260-
target_include_directories(drop_it_like_its_hot PRIVATE ${ImageMagick_INCLUDE_DIRS})
261-
target_link_libraries(drop_it_like_its_hot PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})
262158

263159
add_executable(picamera "picamera.cpp")
264-
target_link_libraries(picamera PRIVATE obcpp_lib)
160+
target_link_libraries(picamera PRIVATE obcpp_lib obcpp_camera obcpp_network)
265161
target_include_directories(picamera PRIVATE ${INCLUDE_DIRECTORY})
266-
target_add_torch(picamera)
267162
target_add_json(picamera)
268-
target_add_opencv(picamera)
269-
target_add_httplib(picamera)
270163
target_add_mavsdk(picamera)
271164
target_add_matplot(picamera)
272-
target_add_protobuf(picamera)
273165
target_add_loguru(picamera)
274-
target_add_onnxruntime(picamera)
275-
# for some reason calling target_add_imagemagick here conflicts with, so we are including/linking without the function call
276-
# target_add_imagemagick(path_plotting)
277-
target_include_directories(picamera PRIVATE ${ImageMagick_INCLUDE_DIRS})
278-
target_link_libraries(picamera PRIVATE -Wl,--copy-dt-needed-entries ${ImageMagick_LIBRARIES})

0 commit comments

Comments
 (0)