]> granicus.if.org Git - esp-idf/commitdiff
components/nvs: fix host build with GCC 4.9, add coverage report generation
authorIvan Grokhotkov <ivan@espressif.com>
Mon, 22 Aug 2016 06:16:21 +0000 (14:16 +0800)
committerIvan Grokhotkov <ivan@espressif.com>
Tue, 23 Aug 2016 04:08:00 +0000 (12:08 +0800)
components/nvs_flash/.gitignore
components/nvs_flash/test/Makefile
components/nvs_flash/test/spi_flash_emulation.h
components/nvs_flash/test/test_nvs.cpp

index ba6fca0386a1e1e54a1075bc8282eb65f6ac5bc0..f07085166b5989f45c76b4987f30313f9880fcb9 100644 (file)
@@ -1 +1,7 @@
 test/test_nvs
+test/coverage
+test/coverage.info
+*.gcno
+*.gcda
+*.gcov
+*.o
index ded1235d70f2bb500e28875287120e303e07c7fd..8fa7b3efe35a0af889ebed6b46e9a9a42ac0dc9f 100644 (file)
@@ -1,5 +1,5 @@
 TEST_PROGRAM=test_nvs
-all: test
+all: $(TEST_PROGRAM)
 
 SOURCE_FILES = \
        $(addprefix ../src/, \
@@ -14,15 +14,18 @@ SOURCE_FILES = \
        test_spi_flash_emulation.cpp \
        test_intrusive_list.cpp \
        test_nvs.cpp \
-    crc.cpp \
+       crc.cpp \
        main.cpp
 
-CPPFLAGS += -I../include -I../src -I./ -I../../esp32/include -I ../../spi_flash/include
+CPPFLAGS += -I../include -I../src -I./ -I../../esp32/include -I ../../spi_flash/include -fprofile-arcs -ftest-coverage
+CFLAGS += -fprofile-arcs -ftest-coverage
 CXXFLAGS += -std=c++11 -Wall -Werror
-LDFLAGS += -lstdc++
+LDFLAGS += -lstdc++ -Wall -fprofile-arcs -ftest-coverage
 
 OBJ_FILES = $(SOURCE_FILES:.cpp=.o)
 
+COVERAGE_FILES = $(OBJ_FILES:.o=.gc*)
+
 $(OBJ_FILES): %.o: %.cpp
 
 $(TEST_PROGRAM): $(OBJ_FILES)
@@ -34,7 +37,20 @@ $(OUTPUT_DIR):
 test: $(TEST_PROGRAM)
        ./$(TEST_PROGRAM)
 
+$(COVERAGE_FILES): $(TEST_PROGRAM) test
+
+coverage.info: $(COVERAGE_FILES)
+       find ../src/ -name "*.gcno" -exec gcov -r -pb {} +
+       lcov --capture --directory ../src --no-external --output-file coverage.info
+
+coverage_report: coverage.info
+       genhtml coverage.info --output-directory coverage_report
+       @echo "Coverage report is in coverage_report/index.html"
+
 clean:
        rm -f $(OBJ_FILES) $(TEST_PROGRAM)
+       rm -f $(COVERAGE_FILES) *.gcov
+       rm -rf coverage_report/
+       rm -f coverage.info
 
 .PHONY: clean all test
index ca1f9e27f5f89991d61b2354b55423e4a16f169b..d5a242b24087285e97fa38164a84026885ef04d9 100644 (file)
@@ -74,7 +74,7 @@ public:
             return false;
         }
         
-        if (mFailCountdown != SIZE_T_MAX && mFailCountdown-- == 0) {
+        if (mFailCountdown != SIZE_MAX && mFailCountdown-- == 0) {
             return false;
         }
 
@@ -108,7 +108,7 @@ public:
             return false;
         }
         
-        if (mFailCountdown != SIZE_T_MAX && mFailCountdown-- == 0) {
+        if (mFailCountdown != SIZE_MAX && mFailCountdown-- == 0) {
             return false;
         }
 
@@ -203,7 +203,7 @@ protected:
     size_t mLowerSectorBound = 0;
     size_t mUpperSectorBound = 0;
     
-    size_t mFailCountdown = SIZE_T_MAX;
+    size_t mFailCountdown = SIZE_MAX;
 
 };
 
index 6e8f4124fcefd9d128e1628af0a1dfcb219b3eb4..beaa79e816a35fcbbeea54fc9755711b3de61469 100644 (file)
@@ -554,11 +554,6 @@ public:
         static_assert(nKeys == sizeof(types) / sizeof(types[0]), "");
         static_assert(nKeys == sizeof(values) / sizeof(values[0]), "");
         
-        
-        auto generateRandomString = [](char* dst, size_t size) {
-            size_t len = 0;
-        };
-        
         auto randomRead = [&](size_t index) -> esp_err_t {
             switch (types[index]) {
                 case ItemType::I32: