diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | unittests/CMakeLists.txt | 12 | ||||
-rw-r--r-- | unittests/Makefile | 62 |
3 files changed, 8 insertions, 68 deletions
@@ -236,7 +236,7 @@ testbuild: # unit tests. .PHONY: tests tests: - $(Q) (cd $(PX4_BASE)/unittests && $(MAKE) unittests) + $(Q) (mkdir -p $(PX4_BASE)/unittests/build && cd $(PX4_BASE)/unittests/build && cmake .. && $(MAKE) unittests) # # Cleanup targets. 'clean' should remove all built products and force diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt index 1657797e9..02e2a4d90 100644 --- a/unittests/CMakeLists.txt +++ b/unittests/CMakeLists.txt @@ -12,16 +12,16 @@ include_directories(${CMAKE_SOURCE_DIR}/../src/lib) add_definitions(-D__EXPORT=) set(CMAKE_C_FLAGS "-std=c99") -set(CMAKE_CXX_FLAGS "-std=c++11") +set(CMAKE_CXX_FLAGS "-std=c++11 -Wno-write-strings") # check -add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure) +add_custom_target(unittests COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure) function(add_gtest) foreach(test_name ${ARGN}) target_link_libraries(${test_name} gtest_main) add_test(NAME ${test_name} COMMAND ${test_name} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) - add_dependencies(check ${test_name}) + add_dependencies(unittests ${test_name}) endforeach() endfunction() @@ -55,5 +55,7 @@ add_gtest(sbus2_test) add_executable(st24_test st24_test.cpp hrt.cpp ${CMAKE_SOURCE_DIR}/../src/lib/rc/st24.c) add_gtest(st24_test) - -# todo: add sf0x_test +# sf0x_test +# TODO: move to gtest +add_executable(sf0x_test sf0x_test.cpp ${CMAKE_SOURCE_DIR}/../src/drivers/sf0x/sf0x_parser.cpp) +add_gtest(sf0x_test) diff --git a/unittests/Makefile b/unittests/Makefile deleted file mode 100644 index eb15ebbea..000000000 --- a/unittests/Makefile +++ /dev/null @@ -1,62 +0,0 @@ - -CC=g++ -CFLAGS=-I. -I../src/modules -I ../src/include -I../src/drivers \ - -I../src -I../src/lib -D__EXPORT="" -Dnullptr="0" -lm - -# Points to the root of Google Test, relative to where this file is. -# Remember to tweak this if you move this file. -GTEST_DIR = gtest - -# Flags passed to the preprocessor. -# Set Google Test's header directory as a system directory, such that -# the compiler doesn't generate warnings in Google Test headers. -CFLAGS += -isystem $(GTEST_DIR)/include - -# All Google Test headers. Usually you shouldn't change this -# definition. -GTEST_HEADERS = $(GTEST_DIR)/include/gtest/*.h \ - $(GTEST_DIR)/include/gtest/internal/*.h - -# Usually you shouldn't tweak such internal variables, indicated by a -# trailing _. -GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS) - -# For simplicity and to avoid depending on Google Test's -# implementation details, the dependencies specified below are -# conservative and not optimized. This is fine as Google Test -# compiles fast and for ordinary users its source rarely changes. -gtest-all.o: $(GTEST_SRCS_) - $(CC) $(CFLAGS) -I$(GTEST_DIR) -c \ - $(GTEST_DIR)/src/gtest-all.cc - -gtest_main.o: $(GTEST_SRCS_) - $(CC) $(CFLAGS) -I$(GTEST_DIR) -c \ - $(GTEST_DIR)/src/gtest_main.cc - -gtest.a: gtest-all.o - $(AR) $(ARFLAGS) $@ $^ - -gtest_main.a: gtest-all.o gtest_main.o - $(AR) $(ARFLAGS) $@ $^ - - -all: sf0x_test - -SF0X_FILES= \ - hrt.cpp \ - sf0x_test.cpp \ - ../src/drivers/sf0x/sf0x_parser.cpp - -sf0x_test: $(SF0X_FILES) - $(CC) -o sf0x_test $(SF0X_FILES) $(CFLAGS) - -cmake_gtests: - mkdir -p build - cd build && CC=gcc cmake .. && $(MAKE) check - -unittests: clean sf0x_test cmake_gtests - ./sf0x_test - -.PHONY: clean -clean: - rm -rf gtest.a gtest_main.a *.o $(ODIR)/*.o *~ core $(INCDIR)/*~ sample_unittest sf0x_test build |