test/flash_tlv: prepare asan test for flash tlv with ENABLE_TLV_FLASH_WRITE_ONCE

This commit is contained in:
Matthias Ringwald 2023-01-18 12:15:44 +01:00
parent 4c4eb51920
commit 5bc527fedb
3 changed files with 54 additions and 1 deletions

View File

@ -0,0 +1,35 @@
cmake_minimum_required (VERSION 3.5)
project(test-tlv-test)
set (BTSTACK_ROOT ${CMAKE_SOURCE_DIR}/../../)
# add CppUTest
include_directories("/usr/local/include")
link_directories("/usr/local/lib")
link_libraries( CppUTest )
link_libraries( CppUTestExt )
include_directories(../../3rd-party/micro-ecc)
include_directories(../../3rd-party/rijndael)
include_directories(../../platform/embedded)
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
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
)

View File

@ -31,7 +31,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
all: build-coverage/tlv_test build-asan/tlv_test build-asan/tlv_test_write_once
build-%:
mkdir -p $@
@ -42,20 +42,34 @@ build-coverage/%.o: %.c | build-coverage
build-coverage/%.o: %.cpp | build-coverage
${CXX} -c $(CFLAGS_COVERAGE) $< -o $@
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 $@
build-asan/%_write_once.o: %.cpp | build-asan
${CXX} -DENABLE_TLV_FLASH_WRITE_ONCE -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
${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
${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
${CXX} $^ ${LDFLAGS_ASAN} -o $@
test: all
build-asan/tlv_test
build-asan/tlv_test_write_once
coverage: all
rm -f build-coverage/*.gcda

View File

@ -329,7 +329,11 @@ TEST(LINK_KEY_DB, KeyReplacement){
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";
#else
const char * pklg_path = "hci_dump.pklg";
#endif
hci_dump_posix_fs_open(pklg_path, HCI_DUMP_PACKETLOGGER);
hci_dump_init(hci_dump_posix_fs_get_instance());
printf("Packet Log: %s\n", pklg_path);