diff --git a/src/test/Makefile b/src/test/Makefile index fd0266e1dd..92ca4f1c16 100644 --- a/src/test/Makefile +++ b/src/test/Makefile @@ -105,17 +105,20 @@ battery_unittest : $(OBJECT_DIR)/sensors/battery.o $(OBJECT_DIR)/battery_unittes +$(OBJECT_DIR)/flight/altitudehold.o : $(USER_DIR)/flight/altitudehold.c $(USER_DIR)/flight/altitudehold.h $(GTEST_HEADERS) + @mkdir -p $(dir $@) + $(CC) $(CPPFLAGS) $(CXXFLAGS) $(TEST_CFLAGS) -c $(USER_DIR)/flight/altitudehold.c -o $@ $(OBJECT_DIR)/flight/imu.o : $(USER_DIR)/flight/imu.c $(USER_DIR)/flight/imu.h $(GTEST_HEADERS) @mkdir -p $(dir $@) - $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(TEST_CFLAGS) -c $(USER_DIR)/flight/imu.c -o $@ + $(CC) $(CPPFLAGS) $(CXXFLAGS) $(TEST_CFLAGS) -c $(USER_DIR)/flight/imu.c -o $@ $(OBJECT_DIR)/flight_imu_unittest.o : $(TEST_DIR)/flight_imu_unittest.cc \ $(USER_DIR)/flight/imu.h $(GTEST_HEADERS) @mkdir -p $(dir $@) $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(TEST_CFLAGS) -c $(TEST_DIR)/flight_imu_unittest.cc -o $@ -flight_imu_unittest : $(OBJECT_DIR)/flight/imu.o $(OBJECT_DIR)/flight_imu_unittest.o $(OBJECT_DIR)/gtest_main.a +flight_imu_unittest : $(OBJECT_DIR)/flight/imu.o $(OBJECT_DIR)/flight/altitudehold.o $(OBJECT_DIR)/flight_imu_unittest.o $(OBJECT_DIR)/gtest_main.a $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $(OBJECT_DIR)/$@ diff --git a/src/test/unit/flight_imu_unittest.cc b/src/test/unit/flight_imu_unittest.cc index a59f810dd5..50c35918d9 100644 --- a/src/test/unit/flight_imu_unittest.cc +++ b/src/test/unit/flight_imu_unittest.cc @@ -22,20 +22,23 @@ #define BARO -#include "common/axis.h" -#include "flight/flight.h" +extern "C" { + #include "common/axis.h" + #include "flight/flight.h" + #include "flight/altitudehold.h" -#include "sensors/sensors.h" -#include "drivers/accgyro.h" -#include "sensors/gyro.h" -#include "sensors/compass.h" -#include "sensors/acceleration.h" -#include "sensors/barometer.h" + #include "sensors/sensors.h" + #include "drivers/accgyro.h" + #include "sensors/gyro.h" + #include "sensors/compass.h" + #include "sensors/acceleration.h" + #include "sensors/barometer.h" -#include "config/runtime_config.h" + #include "config/runtime_config.h" -#include "flight/mixer.h" -#include "flight/imu.h" + #include "flight/mixer.h" + #include "flight/imu.h" +} #include "unittest_macros.h" #include "gtest/gtest.h" @@ -44,7 +47,9 @@ #define UPWARDS_THRUST false -bool isThrustFacingDownwards(rollAndPitchInclination_t *inclinations); +extern "C" { + bool isThrustFacingDownwards(rollAndPitchInclination_t *inclinations); +} typedef struct inclinationExpectation_s { rollAndPitchInclination_t inclination; @@ -82,6 +87,8 @@ TEST(FlightImuTest, IsThrustFacingDownwards) // STUBS +extern "C" { + uint16_t acc_1G; int16_t heading; gyro_t gyro; @@ -118,3 +125,5 @@ int constrain(int amt, int low, int high) UNUSED(high); return 0; } + +}