summaryrefslogtreecommitdiff
path: root/test/CMakeLists.txt
diff options
context:
space:
mode:
authorDawsyn Schraiber <[email protected]>2024-05-09 01:20:17 -0400
committerGitHub <[email protected]>2024-05-09 01:20:17 -0400
commit90c4d94b13472114daab71d3e368660224423c90 (patch)
tree2a56c3780e6ba2f157ce15f2356134cff5035694 /test/CMakeLists.txt
parentd695dce1a7ea28433db8e893025d1ec66fb077b2 (diff)
downloadactive-drag-system-90c4d94b13472114daab71d3e368660224423c90.tar.gz
active-drag-system-90c4d94b13472114daab71d3e368660224423c90.tar.bz2
active-drag-system-90c4d94b13472114daab71d3e368660224423c90.zip
02/24/2024 Test Launch Version (BB Black) (#11)
* Adding a 90% completed, compilable but untested ADS * Made basic changes to actuator & sensor. Also added motor class * Removed unnecessary .cpp files * Updated sensor & actuator classes, finished ads, added variable time step to kalman filter, set up all tests for future assertions * Relocated 'main' to 'active-drag-system.cpp'. Added more info to README * Removed main.cpp * Added more details to README * Changed some function parameters from pass-by-pointer to pass-by-reference. Also removed the std namespace * Started writing the test cases * Updated the .gitignore file * Removed some files that should be gitignored * Up to date with Jazz's pull request * Test Launch Branch Created; PRU Servo Control with Test Program * Added I2C device class and register IDs for MPL [INCOMPLETE SENSOR IMPLEMENTATION] Needs actual data getting function implementation for both sensors and register IDs for BNO, will implement shortly. * Partial implementation of MPL sensor Added startup method, still needs fleshed out data getters and setters and finished I2C implementation. MOST LIKELY WILL HAVE COMPILATION ISSUES. * *Hypothetically* complete MPL implementation NEEDS HARDWARE TESTING * IMU Header and init() method implementation Needs like, all data handling still lol * Hypothetically functional (Definitely won't compile) * We ball? --------- Co-authored-by: Jazz Jackson <[email protected]> Co-authored-by: Cian Capacci <[email protected]>
Diffstat (limited to 'test/CMakeLists.txt')
-rw-r--r--test/CMakeLists.txt76
1 files changed, 66 insertions, 10 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 9aef78e..13d4dc6 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,14 +1,70 @@
-enable_testing()
+cmake_minimum_required(VERSION 3.16.3)
-add_executable(
- hello_test
- hello_test.cc
-)
-target_link_libraries(
- hello_test
- GTest::gtest_main
+project(ADSTests)
+
+# Set Variables
+set(TARGET_A TESTkalmanFilter)
+set(SOURCES_A kalmanFilterTest.cpp ../src/kalmanfilter.cpp)
+
+set(TARGET_B TESTsurfaceFitModel)
+set(SOURCES_B surfaceFitModelTest.cpp ../src/surfaceFitModel.cpp)
+
+set(TARGET_C TESTactuationPlan)
+set(SOURCES_C actuationPlanTest.cpp ../src/actuationPlan.cpp ../src/surfaceFitModel.cpp ../src/rocketUtils.cpp ../src/sensorIMU.cpp ../src/sensorAltimeter.cpp)
+
+# set(TARGET_D TESTads)
+# set(SOURCES_D adsTest.cpp ../src/ads.cpp ../src/actuationPlan.cpp ../src/surfaceFitModel.cpp ../src/rocketUtils.cpp ../src/sensorIMU.cpp ../src/sensorAltimeter.cpp ../src/motor.cpp ../src/logger.cpp ../src/kalmanfilter.cpp)
+
+set(TARGET_E TESTmotorPlan)
+set(SOURCES_E motorTest.cpp ../src/motor.cpp ../src/rocketUtils.cpp)
+
+set(TARGET_F TESTsensorAltimeterPlan)
+set(SOURCES_F sensorAltimeterTest.cpp ../src/sensorAltimeter.cpp ../src/rocketUtils.cpp)
+
+set(TARGET_G TESTsensorIMUPlan)
+set(SOURCES_G sensorIMUTest.cpp ../src/sensorIMU.cpp ../src/rocketUtils.cpp)
+
+
+#Set-up Google Test
+set(CMAKE_CXX_STANDARD 14)
+include(FetchContent)
+FetchContent_Declare(
+ googletest
+ URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip
)
+# For Windows: Prevent overriding the parent project's compiler/linker settings
+set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+FetchContent_MakeAvailable(googletest)
+
+
+
+
+# Create Executables & Link Dependencies
+add_executable(${TARGET_A} ${SOURCES_A})
+target_link_libraries(${TARGET_A} PUBLIC gtest_main) # Link GoogleTest's main() to Executable
+# Tell CMake the Target is a Unit Test
+add_test(NAME ${TARGET_A} COMMAND ${TARGET_A})
+
+add_executable(${TARGET_B} ${SOURCES_B})
+target_link_libraries(${TARGET_B} PUBLIC gtest_main)
+add_test(NAME ${TARGET_B} COMMAND ${TARGET_B})
+
+add_executable(${TARGET_C} ${SOURCES_C})
+target_link_libraries(${TARGET_C} PUBLIC gtest_main)
+add_test(NAME ${TARGET_C} COMMAND ${TARGET_C})
+
+# add_executable(${TARGET_D} ${SOURCES_D})
+# target_link_libraries(${TARGET_D} PUBLIC gtest_main)
+# add_test(NAME ${TARGET_D} COMMAND ${TARGET_D})
+
+add_executable(${TARGET_E} ${SOURCES_E})
+target_link_libraries(${TARGET_E} PUBLIC gtest_main)
+add_test(NAME ${TARGET_E} COMMAND ${TARGET_E})
-include(GoogleTest)
-gtest_discover_tests(hello_test)
+add_executable(${TARGET_F} ${SOURCES_F})
+target_link_libraries(${TARGET_F} PUBLIC gtest_main)
+add_test(NAME ${TARGET_F} COMMAND ${TARGET_F})
+add_executable(${TARGET_G} ${SOURCES_G})
+target_link_libraries(${TARGET_G} PUBLIC gtest_main)
+add_test(NAME ${TARGET_G} COMMAND ${TARGET_G}) \ No newline at end of file