diff --git a/test/flash_tlv/CMakeLists.txt b/test/flash_tlv/CMakeLists.txt index 8e3a0b0ca..04dd28c43 100644 --- a/test/flash_tlv/CMakeLists.txt +++ b/test/flash_tlv/CMakeLists.txt @@ -20,14 +20,11 @@ include_directories(../../platform/posix) include_directories(../../src) include_directories(..) -# test ENABLE_TLV_FLASH_WRITE_ONCE -add_compile_definitions(ENABLE_TLV_FLASH_WRITE_ONCE) - # Enable ASAN add_compile_options( -g -fsanitize=address) add_link_options( -fsanitize=address) -add_executable(tlv_test +add_executable(tlv_test_main tlv_test.cpp ${BTSTACK_ROOT}/src/btstack_util.c ${BTSTACK_ROOT}/src/hci_dump.c @@ -36,3 +33,27 @@ add_executable(tlv_test ${BTSTACK_ROOT}/platform/embedded/hal_flash_bank_memory.c ${BTSTACK_ROOT}/platform/posix/hci_dump_posix_fs.c ) + +# test ENABLE_TLV_FLASH_WRITE_ONCE +add_executable(tlv_test_write_once + tlv_test.cpp + ${BTSTACK_ROOT}/src/btstack_util.c + ${BTSTACK_ROOT}/src/hci_dump.c + ${BTSTACK_ROOT}/src/classic/btstack_link_key_db_tlv.c + ${BTSTACK_ROOT}/platform/embedded/btstack_tlv_flash_bank.c + ${BTSTACK_ROOT}/platform/embedded/hal_flash_bank_memory.c + ${BTSTACK_ROOT}/platform/posix/hci_dump_posix_fs.c +) +target_compile_definitions(tlv_test_write_once PUBLIC ENABLE_TLV_FLASH_WRITE_ONCE) + +# test ENABLE_TLV_FLASH_WRITE_ONCE +add_executable(tlv_test_delete_field + tlv_test.cpp + ${BTSTACK_ROOT}/src/btstack_util.c + ${BTSTACK_ROOT}/src/hci_dump.c + ${BTSTACK_ROOT}/src/classic/btstack_link_key_db_tlv.c + ${BTSTACK_ROOT}/platform/embedded/btstack_tlv_flash_bank.c + ${BTSTACK_ROOT}/platform/embedded/hal_flash_bank_memory.c + ${BTSTACK_ROOT}/platform/posix/hci_dump_posix_fs.c +) +target_compile_definitions(tlv_test_delete_field PUBLIC ENABLE_TLV_FLASH_EXPLICIT_DELETE_FIELD) diff --git a/test/flash_tlv/Makefile b/test/flash_tlv/Makefile index 3069c54e8..9fdddcd71 100644 --- a/test/flash_tlv/Makefile +++ b/test/flash_tlv/Makefile @@ -5,16 +5,16 @@ CFLAGS += ${shell pkg-config --cflags CppuTest} LDFLAGS += ${shell pkg-config --libs CppuTest} COMMON = \ - btstack_tlv_flash_bank.c \ + btstack_link_key_db_tlv.c \ btstack_util.c \ - hal_flash_bank_memory.c \ hci_dump.c \ hci_dump_posix_fs.c \ + hal_flash_bank_memory.c \ VPATH = \ ${BTSTACK_ROOT}/src \ - ${BTSTACK_ROOT}/src/classic \ ${BTSTACK_ROOT}/src/ble \ + ${BTSTACK_ROOT}/src/classic \ ${BTSTACK_ROOT}/platform/embedded \ ${BTSTACK_ROOT}/platform/posix \ @@ -34,7 +34,7 @@ LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o)) COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o)) -all: build-coverage/tlv_test build-asan/tlv_test build-asan/tlv_test_write_once +all: build-coverage/tlv_test build-asan/tlv_test build-asan/tlv_test_write_once build-asan/tlv_test_delete_field build-%: mkdir -p $@ @@ -49,10 +49,10 @@ build-coverage/%.o: %.cpp | build-coverage build-asan/%.o: %.c | build-asan ${CC} -c $(CFLAGS_ASAN) $< -o $@ - build-asan/%.o: %.cpp | build-asan ${CXX} -c $(CFLAGS_ASAN) $< -o $@ + # write once sets ENABLE_TLV_FLASH_WRITE_ONCE build-asan/%_write_once.o: %.c | build-asan ${CC} -DENABLE_TLV_FLASH_WRITE_ONCE -c $(CFLAGS_ASAN) $< -o $@ @@ -60,19 +60,32 @@ build-asan/%_write_once.o: %.c | build-asan build-asan/%_write_once.o: %.cpp | build-asan ${CXX} -DENABLE_TLV_FLASH_WRITE_ONCE -c $(CFLAGS_ASAN) $< -o $@ +# delete field sets ENABLE_TLV_FLASH_DELETE_FIELD +build-asan/%_delete_field.o: %.c | build-asan + ${CC} -DENABLE_TLV_FLASH_EXPLICIT_DELETE_FIELD -c $(CFLAGS_ASAN) $< -o $@ -build-coverage/tlv_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_link_key_db_tlv.o build-coverage/tlv_test.o | build-coverage +build-asan/%_delete_field.o: %.cpp | build-asan + ${CXX} -DENABLE_TLV_FLASH_EXPLICIT_DELETE_FIELD -c $(CFLAGS_ASAN) $< -o $@ + + +# targets +build-coverage/tlv_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_tlv_flash_bank.o build-coverage/tlv_test.o | build-coverage ${CXX} $^ ${LDFLAGS_COVERAGE} -o $@ -build-asan/tlv_test: ${COMMON_OBJ_ASAN} build-asan/btstack_link_key_db_tlv.o build-asan/tlv_test.o | build-asan +build-asan/tlv_test: ${COMMON_OBJ_ASAN} build-asan/btstack_tlv_flash_bank.o build-asan/tlv_test.o | build-asan ${CXX} $^ ${LDFLAGS_ASAN} -o $@ -build-asan/tlv_test_write_once: ${COMMON_OBJ_ASAN} build-asan/btstack_link_key_db_tlv_write_once.o build-asan/tlv_test_write_once.o | build-asan +build-asan/tlv_test_write_once: ${COMMON_OBJ_ASAN} build-asan/btstack_tlv_flash_bank_write_once.o build-asan/tlv_test_write_once.o | build-asan ${CXX} $^ ${LDFLAGS_ASAN} -o $@ +build-asan/tlv_test_delete_field: ${COMMON_OBJ_ASAN} build-asan/btstack_tlv_flash_bank_delete_field.o build-asan/tlv_test_delete_field.o | build-asan + ${CXX} $^ ${LDFLAGS_ASAN} -o $@ + + test: all build-asan/tlv_test build-asan/tlv_test_write_once + build-asan/tlv_test_delete_field coverage: all rm -f build-coverage/*.gcda diff --git a/test/flash_tlv/tlv_test.cpp b/test/flash_tlv/tlv_test.cpp index d297244df..94ba03cdc 100644 --- a/test/flash_tlv/tlv_test.cpp +++ b/test/flash_tlv/tlv_test.cpp @@ -392,6 +392,8 @@ int main (int argc, const char * argv[]){ // log into file using HCI_DUMP_PACKETLOGGER format #ifdef ENABLE_TLV_FLASH_WRITE_ONCE const char * pklg_path = "hci_dump_write_once.pklg"; +#elif defined(ENABLE_TLV_FLASH_EXPLICIT_DELETE_FIELD) + const char * pklg_path = "hci_dump_delete_field.pklg"; #else const char * pklg_path = "hci_dump.pklg"; #endif