test/flash_tlv: add variant for explicit delete field to build

This commit is contained in:
Matthias Ringwald 2024-05-17 09:35:49 +02:00
parent 2092d4ad1b
commit 90d989f6bd
3 changed files with 48 additions and 12 deletions

View File

@ -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)

View File

@ -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

View File

@ -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