TEST_PROGRAM=test_nvs
-all: test
+all: $(TEST_PROGRAM)
SOURCE_FILES = \
$(addprefix ../src/, \
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)
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
return false;
}
- if (mFailCountdown != SIZE_T_MAX && mFailCountdown-- == 0) {
+ if (mFailCountdown != SIZE_MAX && mFailCountdown-- == 0) {
return false;
}
return false;
}
- if (mFailCountdown != SIZE_T_MAX && mFailCountdown-- == 0) {
+ if (mFailCountdown != SIZE_MAX && mFailCountdown-- == 0) {
return false;
}
size_t mLowerSectorBound = 0;
size_t mUpperSectorBound = 0;
- size_t mFailCountdown = SIZE_T_MAX;
+ size_t mFailCountdown = SIZE_MAX;
};
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: