test: enable address sanitzier for make test

This commit is contained in:
Matthias Ringwald 2020-12-01 22:13:09 +01:00
parent 9dbbd7d09d
commit cd56fb443c
32 changed files with 910 additions and 474 deletions

View File

@ -5,8 +5,12 @@ CC = g++
BTSTACK_ROOT = ../..
CFLAGS = -g -Wall -I.. -I${BTSTACK_ROOT}/src -I${BTSTACK_ROOT}/include
CFLAGS += -fprofile-arcs -ftest-coverage
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
VPATH += ${BTSTACK_ROOT}/src
VPATH += ${BTSTACK_ROOT}/src/classic
@ -17,24 +21,33 @@ COMMON = \
hci_dump.c \
ad_parser.c \
COMMON_OBJ = $(COMMON:.c=.o)
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/ad_parser_test
all: build-coverage/ad_parser_test build-asan/ad_parser_test
build-coverage:
mkdir -p build-coverage
build-%:
mkdir -p $@
build-coverage/ad_parser_test: ${COMMON_OBJ} ad_parser_test.c | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/ad_parser_test: ${COMMON_OBJ_COVERAGE} build-coverage/ad_parser_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/ad_parser_test: ${COMMON_OBJ_ASAN} build-asan/ad_parser_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/ad_parser_test
build-asan/ad_parser_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/ad_parser_test
clean:
rm -f ad_parser_test *.o
rm -rf *.dSYM build-coverage
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -9,9 +9,12 @@ CFLAGS = -g -Wall \
-I${BTSTACK_ROOT}/src
CFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael
CFLAGS += -fprofile-arcs -ftest-coverage
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
VPATH += ${BTSTACK_ROOT}/3rd-party/rijndael
VPATH += ${BTSTACK_ROOT}/src
@ -27,30 +30,41 @@ COMMON = \
hci_cmd.c \
rijndael.c
COMMON_OBJ = $(COMMON:.c=.o)
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/att_db_util_test build-coverage/att_db_test
all: build-coverage/att_db_util_test build-coverage/att_db_test build-asan/att_db_util_test build-asan/att_db_test
build-coverage:
mkdir -p build-coverage
build-%:
mkdir -p $@
build-coverage/att_db_util_test: ${COMMON_OBJ} att_db_util_test.c | build-coverage/
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-coverage/att_db_test: att_db_test.c att_db.o btstack_util.o hci_dump.o att_db_util.o | build-coverage/
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/att_db_util_test: ${COMMON_OBJ_COVERAGE} build-coverage/att_db_util_test.o | build-coverage/
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-coverage/att_db_test: build-coverage/att_db_test.o build-coverage/att_db.o build-coverage/btstack_util.o build-coverage/hci_dump.o build-coverage/att_db_util.o | build-coverage/
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/att_db_util_test: ${COMMON_OBJ_ASAN} build-asan/att_db_util_test.o | build-asan/
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-asan/att_db_test: build-asan/att_db_test.o build-asan/att_db.o build-asan/btstack_util.o build-asan/hci_dump.o build-asan/att_db_util.o | build-asan/
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/att_db_util_test
build-coverage/att_db_test
build-asan/att_db_util_test
build-asan/att_db_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/att_db_util_test
build-coverage/att_db_test
clean:
rm -f att_db_util_test
rm -f *.o
rm -rf *.dSYM build-coverage
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -8,10 +8,6 @@ CFLAGS = -g -Wall \
-I.. \
-I${BTSTACK_ROOT}/src
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
VPATH += ${BTSTACK_ROOT}/src
VPATH += ${BTSTACK_ROOT}/src/classic
VPATH += ${BTSTACK_ROOT}/platform/posix
@ -21,28 +17,42 @@ COMMON = \
btstack_linked_list.c \
hci_dump.c \
avdtp_util.c \
COMMON_OBJ = $(COMMON:.c=.o)
all: build-coverage/avdtp_util_test
build-coverage:
mkdir -p build-coverage
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
build-coverage/avdtp_util_test: ${COMMON_OBJ} avdtp_util_test.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
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/avdtp_util_test build-asan/avdtp_util_test
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/avdtp_util_test: ${COMMON_OBJ_COVERAGE} build-coverage/avdtp_util_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/avdtp_util_test: ${COMMON_OBJ_ASAN} build-asan/avdtp_util_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
rm -f *.gcda
build-coverage/avdtp_util_test
build-asan/avdtp_util_test
coverage: all
rm -f *.gcda
rm -f build-coverage/*.gcda
build-coverage/avdtp_util_test
clean:
rm -f avdtp_util_test
rm -f *.o
rm -rf *.dSYM build-coverage
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -6,30 +6,47 @@ BTSTACK_ROOT = ../..
CPPUTEST_HOME = ${BTSTACK_ROOT}/test/cpputest
CFLAGS = -g -Wall -I. -I../ -I${BTSTACK_ROOT}/src
CFLAGS += -fprofile-arcs -ftest-coverage
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
VPATH += ${BTSTACK_ROOT}/src
COMMON_OBJ = \
btstack_base64_decoder.o \
btstack_util.o \
hci_dump.o \
COMMON = \
btstack_base64_decoder.c \
btstack_util.c \
hci_dump.c \
all: build-coverage/base64_decoder_test
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
build-coverage:
mkdir -p build-coverage
all: build-coverage/base64_decoder_test build-asan/base64_decoder_test
build-coverage/base64_decoder_test: ${COMMON_OBJ} base64_decoder_test.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/base64_decoder_test: ${COMMON_OBJ_COVERAGE} build-coverage/base64_decoder_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/base64_decoder_test: ${COMMON_OBJ_ASAN} build-asan/base64_decoder_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/base64_decoder_test
build-asan/base64_decoder_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/base64_decoder_test
clean:
rm -fr base64_decoder_test *.dSYM *.o build-coverage
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -5,8 +5,13 @@ CC = g++
BTSTACK_ROOT = ../..
CFLAGS = -g -Wall -I. -I${BTSTACK_ROOT}/src -I${BTSTACK_ROOT}/include
CFLAGS += -fprofile-arcs -ftest-coverage
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
VPATH += ${BTSTACK_ROOT}/src/ble
VPATH += ${BTSTACK_ROOT}/src
@ -23,24 +28,32 @@ COMMON = \
hci_cmd.c \
hci_dump.c \
COMMON_OBJ = $(COMMON:.c=.o)
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/ad_parser_test
all: build-coverage/ad_parser_test build-asan/ad_parser_test
build-coverage:
mkdir -p build-coverage
build-%:
mkdir -p $@
build-coverage/ad_parser_test: ${CORE_OBJ} ${COMMON_OBJ} ad_parser_test.c | build-coverage
${CC} ${CORE_OBJ} ${COMMON_OBJ} ad_parser_test.c ${CFLAGS} ${LDFLAGS} -o $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/ad_parser_test: ${COMMON_OBJ_COVERAGE} build-coverage/ad_parser_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/ad_parser_test: ${COMMON_OBJ_ASAN} build-asan/ad_parser_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/ad_parser_test
build-asan/ad_parser_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/ad_parser_test
clean:
rm -f *.o
rm -rf *.dSYM build-coverage
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -11,9 +11,13 @@ CFLAGS = -g -Wall \
-I${BTSTACK_ROOT}/src \
-I${BTSTACK_ROOT}/platform/posix \
-I${BTSTACK_ROOT}/3rd-party/tinydir
CFLAGS += -fprofile-arcs -ftest-coverage
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
VPATH += ${BTSTACK_ROOT}/src/classic
VPATH += ${BTSTACK_ROOT}/src
@ -33,30 +37,45 @@ MEMORY = \
btstack_link_key_db_memory.c \
btstack_linked_list.c
FS_OBJ = $(FS:.c=.o)
MEMORY_OBJ = $(MEMORY:.c=.o)
FS_OBJ_COVERAGE = $(addprefix build-coverage/,$(FS:.c=.o))
FS_OBJ_ASAN = $(addprefix build-asan/, $(FS:.c=.o))
all: build-coverage/btstack_link_key_db_memory_test build-coverage/btstack_link_key_db_fs_test
MEMORY_OBJ_COVERAGE = $(addprefix build-coverage/,$(MEMORY:.c=.o))
MEMORY_OBJ_ASAN = $(addprefix build-asan/, $(MEMORY:.c=.o))
build-coverage:
mkdir -p build-coverage
all: build-coverage/btstack_link_key_db_memory_test build-coverage/btstack_link_key_db_fs_test build-asan/btstack_link_key_db_memory_test build-asan/btstack_link_key_db_fs_test
build-coverage/btstack_link_key_db_memory_test: ${MEMORY_OBJ} btstack_link_key_db_memory_test.c | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/btstack_link_key_db_fs_test: ${FS_OBJ_COVERAGE} build-coverage/btstack_link_key_db_fs_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-coverage/btstack_link_key_db_memory_test: ${MEMORY_OBJ_COVERAGE} build-coverage/btstack_link_key_db_memory_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/btstack_link_key_db_fs_test: ${FS_OBJ_ASAN} build-asan/btstack_link_key_db_fs_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-asan/btstack_link_key_db_memory_test: ${MEMORY_OBJ_ASAN} build-asan/btstack_link_key_db_memory_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-coverage/btstack_link_key_db_fs_test: ${FS_OBJ} btstack_link_key_db_fs_test.c | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
test: all
build-coverage/btstack_link_key_db_memory_test
build-coverage/btstack_link_key_db_fs_test
build-asan/btstack_link_key_db_memory_test
build-asan/btstack_link_key_db_fs_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/btstack_link_key_db_memory_test
build-coverage/btstack_link_key_db_fs_test
clean:
rm -f *.o
rm -f *.gcno *.gcda
rm -rf *.dSYM build-coverage
rm -rf build-coverage build-asan

View File

@ -5,8 +5,13 @@ CC = g++
BTSTACK_ROOT = ../..
CFLAGS = -g -Wall -I. -I${BTSTACK_ROOT}/src -I${BTSTACK_ROOT}/include
CFLAGS += -fprofile-arcs -ftest-coverage
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
VPATH += ${BTSTACK_ROOT}/src
VPATH += ${BTSTACK_ROOT}/src/classic
@ -18,29 +23,41 @@ COMMON = \
btstack_memory_pool.c \
btstack_memory.c \
COMMON_OBJ = $(COMMON:.c=.o)
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/btstack_memory_pool_test build-coverage/btstack_memory_test
all: build-coverage/btstack_memory_pool_test build-coverage/btstack_memory_test build-asan/btstack_memory_pool_test build-asan/btstack_memory_test
build-coverage:
mkdir -p build-coverage
build-%:
mkdir -p $@
build-coverage/btstack_memory_pool_test: ${COMMON_OBJ} btstack_memory_pool_test.c | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-coverage/btstack_memory_test: ${COMMON_OBJ} btstack_memory_test.c | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/btstack_memory_pool_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_memory_pool_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-coverage/btstack_memory_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_memory_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/btstack_memory_pool_test: ${COMMON_OBJ_ASAN} build-asan/btstack_memory_pool_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-asan/btstack_memory_test: ${COMMON_OBJ_ASAN} build-asan/btstack_memory_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/btstack_memory_pool_test
build-coverage/btstack_memory_test
build-asan/btstack_memory_pool_test
build-asan/btstack_memory_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/btstack_memory_pool_test
build-coverage/btstack_memory_test
clean:
rm -f *.o
rm -rf *.dSYM build-coverage
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -10,8 +10,13 @@ CFLAGS += -I. -I${BTSTACK_ROOT}/src -I${BTSTACK_ROOT}/platform/posix
CFLAGS += -I${BTSTACK_ROOT}/3rd-party/mbedtls/include
CFLAGS += -I${BTSTACK_ROOT}/3rd-party/micro-ecc
CFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
VPATH += ${BTSTACK_ROOT}/src
VPATH += ${BTSTACK_ROOT}/src/ble
@ -19,45 +24,58 @@ VPATH += ${BTSTACK_ROOT}/platform/posix
VPATH += ${BTSTACK_ROOT}/3rd-party/micro-ecc
VPATH += ${BTSTACK_ROOT}/3rd-party/rijndael
MBEDTLS = \
ecp.c \
ecp_curves.c \
bignum.c \
all: build-coverage/aes_ccm_test build-coverage/aestest build-coverage/ecc_micro_ecc build-coverage/aes_cmac_test \
build-asan/aes_ccm_test build-asan/aestest build-asan/ecc_micro_ecc build-asan/aes_cmac_test
MICROECC = \
uECC.c
build-%:
mkdir -p $@
all: build-coverage/aes_ccm_test build-coverage/aestest build-coverage/ecc_micro_ecc build-coverage/aes_cmac_test
build-coverage/%.o: %.c | build-coverage
gcc -c ${CFLAGS_COVERAGE} $< -o $@
build-coverage:
mkdir -p build-coverage
build-asan/%.o: %.c | build-asan
gcc -c $(CFLAGS_ASAN) $< -o $@
build-coverage/aes_ccm_test: aes_ccm.o aes_ccm_test.o btstack_crypto.o btstack_linked_list.o hci_cmd.o btstack_util.o hci_dump.o aes_cmac.o rijndael.o mock.o | build-coverage
${CC} ${CFLAGS} $^ -o $@
build-coverage/aestest: aestest.o rijndael.o | build-coverage
${CC} ${CFLAGS} $^ -o $@
build-coverage/aes_ccm_test: build-coverage/aes_ccm.o build-coverage/aes_ccm_test.o build-coverage/btstack_crypto.o build-coverage/btstack_linked_list.o build-coverage/hci_cmd.o build-coverage/btstack_util.o build-coverage/hci_dump.o build-coverage/aes_cmac.o build-coverage/rijndael.o build-coverage/mock.o | build-coverage
${CC} ${LDFLAGS_COVERAGE} $^ -o $@
build-coverage/ecc_micro_ecc: ecc_micro_ecc.o ${MICROECC} | build-coverage
gcc ${CFLAGS} $^ -o $@
build-coverage/aestest: build-coverage/aestest.o build-coverage/rijndael.o | build-coverage
${CC} ${LDFLAGS_COVERAGE} $^ -o $@
build-coverage/ecc_micro_ecc: build-coverage/ecc_micro_ecc.o build-coverage/uECC.o | build-coverage
gcc ${LDFLAGS_COVERAGE} $^ -o $@
build-coverage/aes_cmac_test: build-coverage/aes_cmac_test.o build-coverage/aes_cmac.o build-coverage/rijndael.o | build-coverage
gcc ${LDFLAGS_COVERAGE} $^ -o $@
build-asan/aes_ccm_test: build-asan/aes_ccm.o build-asan/aes_ccm_test.o build-asan/btstack_crypto.o build-asan/btstack_linked_list.o build-asan/hci_cmd.o build-asan/btstack_util.o build-asan/hci_dump.o build-asan/aes_cmac.o build-asan/rijndael.o build-asan/mock.o | build-asan
${CC} ${LDFLAGS_ASAN} $^ -o $@
build-asan/aestest: build-asan/aestest.o build-asan/rijndael.o | build-asan
${CC} ${LDFLAGS_ASAN} $^ -o $@
build-asan/ecc_micro_ecc: build-asan/ecc_micro_ecc.o build-asan/uECC.o | build-asan
gcc ${LDFLAGS_ASAN} $^ -o $@
build-asan/aes_cmac_test: build-asan/aes_cmac_test.o build-asan/aes_cmac.o build-asan/rijndael.o | build-asan
gcc ${LDFLAGS_ASAN} $^ -o $@
build-coverage/aes_cmac_test: aes_cmac_test.o aes_cmac.o rijndael.o | build-coverage
gcc ${CFLAGS} $^ -o $@
test: all
build-coverage/aes_cmac_test
build-coverage/aestest
build-coverage/ecc_micro_ecc
build-coverage/aes_cmac_test
build-asan/aes_cmac_test
build-asan/aestest
build-asan/ecc_micro_ecc
build-asan/aes_cmac_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/aes_cmac_test
build-coverage/aestest
build-coverage/ecc_micro_ecc
build-coverage/aes_cmac_test
clean:
rm -f *.o
rm -f *.gcno *.gcda
rm -rf *.dSYM
rm -rf build-coverage build-asan

View File

@ -37,7 +37,7 @@ const char * f5_n1_string = "d5cb8454 d177733e ffffb2ec 712baeab";
const char * f5_n2_string = "a6e8e7cc 25a75f6e 216583f7 ff3dc4cf";
const char * f5_a1_string = "00561237 37bfce";
const char * f5_a2_string = "00a71370 2dcfc1";
const char * f5_cmac_string = "2965f176 a1084a02 fd3f6a20 ce636e20 69867911 69d7cd23 980522b5 94750a38";
const char * f5_cmac_string = "2965f176 a1084a02 fd3f6a20 ce636e20";
// f6
const char * f6_n1_string = "d5cb8454 d177733e ffffb2ec 712baeab";

View File

@ -5,8 +5,13 @@ CC = g++
BTSTACK_ROOT = ../..
CFLAGS = -g -Wall -I.. -I${BTSTACK_ROOT}/src -I${BTSTACK_ROOT}/include
CFLAGS += -fprofile-arcs -ftest-coverage
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
VPATH += ${BTSTACK_ROOT}/src
VPATH += ${BTSTACK_ROOT}/src/classic
@ -17,23 +22,35 @@ COMMON = \
hci_dump.c \
btstack_util.c
COMMON_OBJ = $(COMMON:.c=.o)
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/des_iterator_test
all: build-coverage/des_iterator_test build-asan/des_iterator_test
build-coverage:
mkdir -p build-coverage
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/des_iterator_test: ${COMMON_OBJ_COVERAGE} build-coverage/des_iterator_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/des_iterator_test: ${COMMON_OBJ_ASAN} build-asan/des_iterator_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-coverage/des_iterator_test: ${COMMON_OBJ} des_iterator_test.c | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
test: all
build-coverage/des_iterator_test
build-asan/des_iterator_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/des_iterator_test
clean:
rm -f *.o
rm -rf *.dSYM build-coverage
rm -rf build-coverage build-asan

View File

@ -9,11 +9,14 @@ CFLAGS = -g -Wall \
-I${BTSTACK_ROOT}/src \
-I${BTSTACK_ROOT}/platform/embedded
CFLAGS += -fprofile-arcs -ftest-coverage
CFLAGS += -DHAVE_HAL_AUDIO
LDFLAGS += -lCppUTest -lCppUTestExt
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
VPATH += ${BTSTACK_ROOT}/src
VPATH += ${BTSTACK_ROOT}/src/ble
@ -42,34 +45,48 @@ COMMON = \
hci_transport_h4.c \
hci_transport_h5.c \
COMMON_OBJ = $(COMMON:.c=.o)
FREERTOS = \
btstack_run_loop_freertos.c \
btstack_uart_block_freertos.c \
FREERTOS_OBJS = \
btstack_run_loop_freertos.o \
btstack_uart_block_freertos.o \
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/embedded_test build-coverage/freertos_test
FREERTOS_OBJ_COVERAGE = $(addprefix build-coverage/,$(FREERTOS:.c=.o))
FREERTOS_OBJ_ASAN = $(addprefix build-asan/, $(FREERTOS:.c=.o))
build-coverage:
mkdir -p build-coverage
all: build-coverage/embedded_test build-coverage/freertos_test build-asan/embedded_test build-asan/freertos_test
build-coverage/embedded_test: ${COMMON_OBJ} embedded_test.c | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-%:
mkdir -p $@
build-coverage/freertos_test: ${COMMON_OBJ} ${FREERTOS_OBJS} freertos_test.c | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/embedded_test: ${COMMON_OBJ} build-coverage/embedded_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-coverage/freertos_test: ${COMMON_OBJ} ${FREERTOS_OBJS} build-coverage/freertos_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/embedded_test: ${COMMON_OBJ} build-asan/embedded_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-asan/freertos_test: ${COMMON_OBJ} ${FREERTOS_OBJS} build-asan/freertos_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/embedded_test
build-coverage/freertos_test
build-asan/embedded_test
build-asan/freertos_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/embedded_test
build-coverage/freertos_test
clean:
rm -f embedded_test
rm -f *.o
rm -rf *.dSYM build-coverage
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -3,11 +3,11 @@ CC=g++
BTSTACK_ROOT = ../..
CPPUTEST_HOME = ${BTSTACK_ROOT}/test/cpputest
COMMON_OBJ = \
btstack_tlv_flash_bank.o \
btstack_util.o \
hal_flash_bank_memory.o \
hci_dump.o \
COMMON = \
btstack_tlv_flash_bank.c \
btstack_util.c \
hal_flash_bank_memory.c \
hci_dump.c \
VPATH = \
${BTSTACK_ROOT}/src \
@ -26,23 +26,39 @@ CFLAGS = \
-I${BTSTACK_ROOT}/src \
-I${BTSTACK_ROOT}/platform/embedded \
CFLAGS += -fprofile-arcs -ftest-coverage
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
all: build-coverage/tlv_test
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
build-coverage:
mkdir -p build-coverage
all: build-coverage/tlv_test build-asan/tlv_test
clean:
rm -rf *.o *.dSYM *.pklg build-coverage
rm -f *.gcno *.gcda
build-%:
mkdir -p $@
build-coverage/tlv_test: ${COMMON_OBJ} btstack_link_key_db_tlv.o tlv_test.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -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
${CC} $^ ${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
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/tlv_test
build-asan/tlv_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/tlv_test
clean:
rm -rf build-coverage build-asan

View File

@ -6,8 +6,6 @@ BTSTACK_ROOT = ../..
CFLAGS = -DUNIT_TEST -x c++ -g -Wall -Wnarrowing -Wconversion-null -I. -I${BTSTACK_ROOT}/src
CFLAGS += -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
VPATH += ${BTSTACK_ROOT}/src
VPATH += ${BTSTACK_ROOT}/src/ble
@ -25,32 +23,44 @@ COMMON = \
hci_dump.c \
le_device_db_memory.c \
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
all: build-coverage/test_le_scan
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/test_le_scan build-asan/test_le_scan
build-%:
mkdir -p $@
# compile .ble description
build-coverage/profile.h: profile.gatt | build-coverage
build-%/profile.h: profile.gatt | build-%
python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-coverage/test_le_scan: ${COMMON_OBJ} test_le_scan.o | build-coverage
${CC} ${COMMON_OBJ} test_le_scan.o ${CFLAGS} ${LDFLAGS} -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/test_le_scan: ${COMMON_OBJ_COVERAGE} build-coverage/test_le_scan.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/test_le_scan: ${COMMON_OBJ_ASAN} build-asan/test_le_scan.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/test_le_scan
build-asan/test_le_scan
coverage: all
rm -f build-coverage/*.gcda
build-coverage/test_le_scan
clean:
rm -f test_le_scan
rm -f *.o
rm -rf *.dSYM build-coverage
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -5,8 +5,6 @@ CC = g++
BTSTACK_ROOT = ../..
CFLAGS = -DUNIT_TEST -x c++ -g -Wall -Wnarrowing -Wconversion-null -I. -Ibuild-coverage -I${BTSTACK_ROOT}/src
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
VPATH += ${BTSTACK_ROOT}/src
VPATH += ${BTSTACK_ROOT}/src/ble
@ -27,36 +25,52 @@ COMMON = \
le_device_db_memory.c \
mock.c \
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
all: build-coverage/gatt_client_test build-coverage/le_central
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/gatt_client_test build-coverage/le_central build-asan/gatt_client_test build-asan/le_central
build-%:
mkdir -p $@
# compile .ble description
build-coverage/profile.h: profile.gatt | build-coverage
build-%/profile.h: profile.gatt | build-%
python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-coverage/gatt_client_test: profile.h ${COMMON_OBJ} build-coverage/gatt_client_test.o expected_results.h | build-coverage
${CC} ${COMMON_OBJ} build-coverage/gatt_client_test.o ${CFLAGS} ${LDFLAGS} -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/le_central: ${COMMON_OBJ} build-coverage/le_central.o | build-coverage
${CC} ${COMMON_OBJ} build-coverage/le_central.o ${CFLAGS} ${LDFLAGS} -o $@
build-coverage/gatt_client_test: ${COMMON_OBJ_COVERAGE} build-coverage/profile.h build-coverage/gatt_client_test.o expected_results.h | build-coverage
${CC} $(filter-out build-coverage/profile.h expected_results.h,$^) ${LDFLAGS_COVERAGE} -o $@
build-coverage/le_central: ${COMMON_OBJ_COVERAGE} build-coverage/le_central.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/gatt_client_test: ${COMMON_OBJ_ASAN} build-asan/profile.h build-asan/gatt_client_test.o expected_results.h | build-asan
${CC} $(filter-out build-asan/profile.h expected_results.h,$^) ${LDFLAGS_ASAN} -o $@
build-asan/le_central: ${COMMON_OBJ_ASAN} build-asan/le_central.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/gatt_client_test
build-coverage/le_central
build-asan/gatt_client_test
build-asan/le_central
coverage: all
rm -f build-coverage/*.gcda
build-coverage/gatt_client_test
build-coverage/le_central
clean:
rm -f *.o
rm -rf *.dSYM build-coverage
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -7,8 +7,6 @@ BTSTACK_ROOT = ../..
CFLAGS = -DUNIT_TEST -x c++ -g -Wall -Wnarrowing -Wconversion-null -I. -I../
CFLAGS += -I${BTSTACK_ROOT}/src
CFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
VPATH += ${BTSTACK_ROOT}/src
VPATH += ${BTSTACK_ROOT}/src/ble
@ -42,31 +40,45 @@ COMMON = \
rijndael.c \
ublox_spp_service_server.c \
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
all: build-coverage/gatt_server_test
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/gatt_server_test build-asan/gatt_server_test
build-%:
mkdir -p $@
# compile .ble description
build-coverage/profile.h: profile.gatt | build-coverage
build-%/profile.h: profile.gatt | build-%
python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-coverage/gatt_server_test: build-coverage/profile.h ${COMMON_OBJ} build-coverage/gatt_server_test.o | build-coverage
${CC} ${COMMON_OBJ} build-coverage/gatt_server_test.o ${CFLAGS} ${LDFLAGS} -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/gatt_server_test: ${COMMON_OBJ_COVERAGE} build-coverage/profile.h build-coverage/gatt_server_test.o | build-coverage
${CC} $(filter-out build-coverage/profile.h,$^) ${LDFLAGS_COVERAGE} -o $@
build-asan/gatt_server_test: ${COMMON_OBJ_ASAN} build-asan/profile.h build-asan/gatt_server_test.o | build-asan
${CC} $(filter-out build-asan/profile.h,$^) ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/gatt_server_test
build-asan/gatt_server_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/gatt_server_test
clean:
rm -f *.o
rm -rf *.dSYM build-coverage
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -8,8 +8,6 @@ CFLAGS = -DUNIT_TEST -x c++ -g -Wall -Wnarrowing -Wconversion-null -Ibuild-cove
CFLAGS += -I${BTSTACK_ROOT}/src
CFLAGS += -I${BTSTACK_ROOT}/test/mock
CFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
VPATH += ${BTSTACK_ROOT}/src
VPATH += ${BTSTACK_ROOT}/src/ble
@ -37,38 +35,60 @@ COMMON = \
ublox_spp_service_server.c \
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
all: build-coverage/battery_service_test build-coverage/device_information_service_test
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
build-coverage/battery_service_profile.h: battery_service_profile.gatt | build-coverage
all: build-coverage/battery_service_test build-coverage/device_information_service_test \
build-asan/battery_service_test build-asan/device_information_service_test
build-%:
mkdir -p $@
build-%/battery_service_profile.h: battery_service_profile.gatt | build-%
python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
build-coverage/device_information_service_profile.h: device_information_service.gatt| build-coverage
build-%/device_information_service_profile.h: device_information_service.gatt| build-%
python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) $< -o $@
build-coverage/battery_service_test: build-coverage/battery_service_profile.h ${COMMON_OBJ} build-coverage/battery_service_test.o | build-coverage
${CC} ${COMMON_OBJ} build-coverage//battery_service_test.o ${CFLAGS} ${LDFLAGS} -o $@
build-coverage/battery_service_test: build-coverage/battery_service_profile.h ${COMMON_OBJ_COVERAGE} build-coverage/battery_service_test.o | build-coverage
${CC} $(filter-out build-coverage/battery_service_profile.h,$^) ${LDFLAGS_COVERAGE} -o $@
build-coverage/device_information_service_test: build-coverage/device_information_service_profile.h ${COMMON_OBJ} build-coverage/device_information_service_test.o | build-coverage
${CC} ${COMMON_OBJ} build-coverage//device_information_service_test.o ${CFLAGS} ${LDFLAGS} -o $@
build-coverage/device_information_service_test: build-coverage/device_information_service_profile.h ${COMMON_OBJ_COVERAGE} build-coverage/device_information_service_test.o | build-coverage
${CC} $(filter-out build-coverage/device_information_service_profile.h,$^) ${LDFLAGS_COVERAGE} -o $@
build-asan/battery_service_test: build-asan/battery_service_profile.h ${COMMON_OBJ_ASAN} build-asan/battery_service_test.o | build-asan
${CC} $(filter-out build-asan/battery_service_profile.h,$^) ${LDFLAGS_ASAN} -o $@
build-asan/device_information_service_test: build-asan/device_information_service_profile.h ${COMMON_OBJ_ASAN} build-asan/device_information_service_test.o | build-asan
${CC} $(filter-out build-asan/device_information_service_profile.h,$^) ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/battery_service_test
build-coverage/device_information_service_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/battery_service_test
build-coverage/device_information_service_test
clean:
rm -f *.o
rm -rf *.dSYM build-coverage
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -40,60 +40,84 @@ MOCK = \
hci_dump.c \
sdp_util.c \
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
MOCK_OBJ = $(addprefix build-coverage/,$(MOCK:.c=.o))
CFLAGS = -g -Wall -Wmissing-prototypes -Wnarrowing
# CFLAGS += -Werror
CFLAGS += -I. -I../ -I${BTSTACK_ROOT}/src -I${BTSTACK_ROOT}/src/classic -I${POSIX_ROOT} -I${BTSTACK_ROOT}/include
# CFLAGS += -D OCTAVE_OUTPUT
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
MOCK_OBJ_COVERAGE = $(addprefix build-coverage/,$(MOCK:.c=.o))
MOCK_OBJ_ASAN = $(addprefix build-asan/, $(MOCK:.c=.o))
# CC = gcc-fsf-4.9
VPATH += ${BTSTACK_ROOT}/src
VPATH += ${BTSTACK_ROOT}/src/classic
VPATH += ${BTSTACK_ROOT}/platform/posix
CFLAGS = -g -Wall -Wmissing-prototypes -Wnarrowing
# CFLAGS += -Werror
CFLAGS += -I. -I../ -I${BTSTACK_ROOT}/src -I${BTSTACK_ROOT}/src/classic -I${POSIX_ROOT} -I${BTSTACK_ROOT}/include
# CFLAGS += -D OCTAVE_OUTPUT
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS_CPPUTEST += -lCppUTest -lCppUTestExt
EXAMPLES = hfp_at_parser_test hfp_ag_client_test hfp_hf_client_test cvsd_plc_test hfp_link_settings_test
all: $(addprefix build-coverage/,${EXAMPLES}) pklg_cvsd_test
all: $(addprefix build-coverage/,${EXAMPLES}) $(addprefix build-asan/,${EXAMPLES}) build-asan/pklg_cvsd_test
build-coverage:
mkdir -p build-coverage
build-%:
mkdir -p $@
clean:
rm -rf *.o $(EXAMPLES) $(CLIENT_EXAMPLES) *.dSYM *.wav results/* pklg/*.wav
rm -f *.gcno *.gcda
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-coverage/hfp_at_parser_test: ${COMMON_OBJ} build-coverage/hfp_gsm_model.o build-coverage/hfp_ag.o build-coverage/hfp.o build-coverage/hfp_at_parser_test.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS_CPPUTEST} -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/hfp_hf_client_test: ${MOCK_OBJ} build-coverage/hfp_hf.o build-coverage/hfp.o build-coverage/hfp_hf_client_test.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS_CPPUTEST} -o $@
build-coverage/hfp_at_parser_test: ${COMMON_OBJ_COVERAGE} build-coverage/hfp_gsm_model.o build-coverage/hfp_ag.o build-coverage/hfp.o build-coverage/hfp_at_parser_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-coverage/hfp_ag_client_test: ${MOCK_OBJ} build-coverage/hfp_gsm_model.o build-coverage/hfp_ag.o build-coverage/hfp.o build-coverage/hfp_ag_client_test.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS_CPPUTEST} -o $@
build-coverage/hfp_hf_client_test: ${MOCK_OBJ_COVERAGE} build-coverage/hfp_hf.o build-coverage/hfp.o build-coverage/hfp_hf_client_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-coverage/cvsd_plc_test: ${COMMON_OBJ} build-coverage/btstack_cvsd_plc.o build-coverage/wav_util.o build-coverage/cvsd_plc_test.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS_CPPUTEST} -o $@
build-coverage/hfp_ag_client_test: ${MOCK_OBJ_COVERAGE} build-coverage/hfp_gsm_model.o build-coverage/hfp_ag.o build-coverage/hfp.o build-coverage/hfp_ag_client_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-coverage/hfp_link_settings_test: ${MOCK_OBJ} build-coverage/hfp_hf.o build-coverage/hfp.o build-coverage/hfp_link_settings_test.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS_CPPUTEST} -o $@
build-coverage/cvsd_plc_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_cvsd_plc.o build-coverage/wav_util.o build-coverage/cvsd_plc_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
pklg_cvsd_test: build-coverage/hci_dump.o build-coverage/btstack_util.o build-coverage/btstack_cvsd_plc.o build-coverage/wav_util.o build-coverage/pklg_cvsd_test.o | build-coverage
${CC} $^ ${CFLAGS} -o $@
build-coverage/hfp_link_settings_test: ${MOCK_OBJ_COVERAGE} build-coverage/hfp_hf.o build-coverage/hfp.o build-coverage/hfp_link_settings_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/hfp_at_parser_test: ${COMMON_OBJ_ASAN} build-asan/hfp_gsm_model.o build-asan/hfp_ag.o build-asan/hfp.o build-asan/hfp_at_parser_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-asan/hfp_hf_client_test: ${MOCK_OBJ_ASAN} build-asan/hfp_hf.o build-asan/hfp.o build-asan/hfp_hf_client_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-asan/hfp_ag_client_test: ${MOCK_OBJ_ASAN} build-asan/hfp_gsm_model.o build-asan/hfp_ag.o build-asan/hfp.o build-asan/hfp_ag_client_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-asan/cvsd_plc_test: ${COMMON_OBJ_ASAN} build-asan/btstack_cvsd_plc.o build-asan/wav_util.o build-asan/cvsd_plc_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-asan/hfp_link_settings_test: ${MOCK_OBJ_ASAN} build-asan/hfp_hf.o build-asan/hfp.o build-asan/hfp_link_settings_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-asan/pklg_cvsd_test: build-asan/hci_dump.o build-asan/btstack_util.o build-asan/btstack_cvsd_plc.o build-asan/wav_util.o build-asan/pklg_cvsd_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
mkdir -p results
build-coverage/hfp_at_parser_test
build-coverage/hfp_ag_client_test
build-coverage/hfp_hf_client_test
build-coverage/cvsd_plc_test
build-coverage/hfp_link_settings_test
build-asan/hfp_at_parser_test
build-asan/hfp_ag_client_test
build-asan/hfp_hf_client_test
build-asan/cvsd_plc_test
build-asan/hfp_link_settings_test
coverage: all
mkdir -p results
@ -103,9 +127,13 @@ coverage: all
build-coverage/cvsd_plc_test
build-coverage/hfp_link_settings_test
pklg-test: build-coverage/pklg_cvsd_test
./pklg_cvsd_test pklg/test1
./pklg_cvsd_test pklg/test2
./pklg_cvsd_test pklg/test3
./pklg_cvsd_test pklg/test4
./pklg_cvsd_test pklg/test5
pklg-test: build-asan/pklg_cvsd_test
build-asan/pklg_cvsd_test pklg/test1
build-asan/pklg_cvsd_test pklg/test2
build-asan/pklg_cvsd_test pklg/test3
build-asan/pklg_cvsd_test pklg/test4
build-asan/pklg_cvsd_test pklg/test5
clean:
rm -rf build-coverage build-asan
rm -rf *.wav results/* pklg/*.wav

View File

@ -8,8 +8,6 @@ CPPFLAGS = -x c++ -Wall -Wno-unused
CFLAGS = -DUNIT_TEST -g
CFLAGS += -I. -I${BTSTACK_ROOT}/src
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
VPATH += ${BTSTACK_ROOT}/src
COMMON = \
@ -17,27 +15,42 @@ COMMON = \
btstack_hid_parser.c \
hci_dump.c
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
all: build-coverage/hid_parser_test
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/hid_parser_test build-asan/hid_parser_test
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/hid_parser_test: ${COMMON_OBJ_COVERAGE} build-coverage/hid_parser_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/hid_parser_test: ${COMMON_OBJ_ASAN} build-asan/hid_parser_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-coverage/hid_parser_test: ${COMMON_OBJ} build-coverage/hid_parser_test.o | build-coverage
${CC} ${CFLAGS} $^ ${LDFLAGS} -o $@
test: all
build-coverage/hid_parser_test
build-asan/hid_parser_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/hid_parser_test
clean:
rm -f *.o
rm -rf *.dSYM build-coverage
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -8,7 +8,6 @@ CFLAGS = -DUNIT_TEST -x c++ -g -Wall -Wnarrowing -Wconversion-null
CFLAGS += -I.
CFLAGS += -I${BTSTACK_ROOT}/src
CFLAGS += -I${BTSTACK_ROOT}/platform/embedded
# CFLAGS += -fprofile-arcs -ftest-coverage -fsanitize=address
LDFLAGS += -lCppUTest -lCppUTestExt
VPATH += ${BTSTACK_ROOT}/src
@ -26,28 +25,39 @@ COMMON = \
btstack_tlv_flash_bank.c \
hal_flash_bank_memory.c \
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
all: build-coverage/le_device_db_tlv_test
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/le_device_db_tlv_test build-asan/le_device_db_tlv_test
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-coverage/le_device_db_tlv_test: ${COMMON_OBJ} build-coverage/le_device_db_tlv_test.o | build-coverage
${CC} ${COMMON_OBJ} build-coverage/le_device_db_tlv_test.o ${CFLAGS} ${LDFLAGS} -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/le_device_db_tlv_test: ${COMMON_OBJ_COVERAGE} build-coverage/le_device_db_tlv_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/le_device_db_tlv_test: ${COMMON_OBJ_ASAN} build-asan/le_device_db_tlv_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/le_device_db_tlv_test
build-asan/le_device_db_tlv_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/le_device_db_tlv_test
clean:
rm -f le_device_db_tlv_test
rm -f *.o
rm -rf *.dSYM
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -6,8 +6,6 @@ BTSTACK_ROOT = ../..
CPPUTEST_HOME = ${BTSTACK_ROOT}/test/cpputest
CFLAGS = -g -Wall -I. -I../ -I${BTSTACK_ROOT}/src -I${BTSTACK_ROOT}/include
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
VPATH += ${BTSTACK_ROOT}/src/ble
VPATH += ${BTSTACK_ROOT}/src
@ -18,26 +16,39 @@ COMMON = \
hci_dump.c \
btstack_util.c \
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
all: build-coverage/btstack_linked_list_test
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/btstack_linked_list_test build-asan/btstack_linked_list_test
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-coverage/btstack_linked_list_test: ${COMMON_OBJ} build-coverage/btstack_linked_list_test.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/btstack_linked_list_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_linked_list_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/btstack_linked_list_test: ${COMMON_OBJ_ASAN} build-asan/btstack_linked_list_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/btstack_linked_list_test
build-asan/btstack_linked_list_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/btstack_linked_list_test
clean:
rm -f *.gcno *.gcda
rm -fr *.dSYM build-coverage
rm -rf build-coverage build-asan

View File

@ -46,8 +46,8 @@ CORE_OBJ = $(addprefix build-coverage/,$(CORE:.c=.o))
all: map_client_test
build-coverage:
mkdir -p build-coverage
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@

View File

@ -175,7 +175,7 @@ void map_client_parse_message_listing(btstack_packet_handler_t callback, uint16_
int message_found = 0;
int handle_found = 0;
char handle[MAP_MESSAGE_HANDLE_SIZE * 2];
char handle[MAP_MESSAGE_HANDLE_SIZE * 2 + 1];
map_message_handle_t msg_handle;
yxml_init(&xml_parser, xml_buffer, sizeof(xml_buffer));
@ -190,7 +190,7 @@ void map_client_parse_message_listing(btstack_packet_handler_t callback, uint16_
if (message_found == 0) break;
message_found = 0;
if (strlen(handle) != MAP_MESSAGE_HANDLE_SIZE * 2){
log_info("message handle string length != 16");
log_info("message handle string length %u != %u", (unsigned int) strlen(handle), MAP_MESSAGE_HANDLE_SIZE*2);
break;
}
map_message_str_to_handle(handle, msg_handle);
@ -206,6 +206,8 @@ void map_client_parse_message_listing(btstack_packet_handler_t callback, uint16_
break;
case YXML_ATTRVAL:
if (handle_found == 1) {
if (strlen(xml_parser.data) != 1) break;
if (strlen(handle) >= (MAP_MESSAGE_HANDLE_SIZE * 2)) break;
strcat(handle, xml_parser.data);
break;
}

View File

@ -18,8 +18,6 @@ CFLAGS += -I${BTSTACK_ROOT}/3rd-party/yxml
VPATH += ${BTSTACK_ROOT}/test/map_client
CFLAGS += -I${BTSTACK_ROOT}/test/map_client
CFLAGS += -fprofile-arcs -ftest-coverage
COMMON = \
yxml.c \
btstack_util.c \
@ -27,26 +25,43 @@ COMMON = \
map_util.c \
btstack_util.c \
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
all: build-coverage/map_xml_test
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/map_xml_test build-asan/map_xml_test
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/map_xml_test: ${COMMON_OBJ_COVERAGE} build-coverage/map_xml_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/map_xml_test: ${COMMON_OBJ_ASAN} build-asan/map_xml_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-coverage/map_xml_test: ${COMMON_OBJ} build-coverage/map_xml_test.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
test: all
build-coverage/map_xml_test
build-asan/map_xml_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/map_xml_test
clean:
rm -fr map_xml_test *.dSYM *.o ../src/*.o
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -8,25 +8,41 @@ CPPUTEST_HOME = ${BTSTACK_ROOT}/test/cpputest
CFLAGS = -g -Wall -I. -I../ -I${BTSTACK_ROOT}/src -I${BTSTACK_ROOT}/include
LDFLAGS += -lCppUTest -lCppUTestExt
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
all: build-coverage/sqrt_test
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/sqrt_test build-asan/sqrt_test
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-coverage/sqrt_test: ${COMMON_OBJ} build-coverage/sqrt_test.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/sqrt_test: ${COMMON_OBJ_COVERAGE} build-coverage/sqrt_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/sqrt_test: ${COMMON_OBJ_ASAN} build-asan/sqrt_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/sqrt_test
build-asan/sqrt_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/sqrt_test
clean:
rm -fr build-coverage *.dSYM
rm -rf build-coverage build-asan

View File

@ -38,8 +38,6 @@ CFLAGS += -g -DUNIT_TEST -Wall \
-I$(BTSTACK_ROOT)/3rd-party/tinydir \
-I$(BTSTACK_ROOT)/3rd-party/rijndael \
CFLAGS += -fprofile-arcs -ftest-coverage
CFLAGS += -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wunused-parameter -Wredundant-decls -Wsign-compare
VPATH += ${BTSTACK_ROOT}/3rd-party/rijndael
@ -57,65 +55,86 @@ CC_UNIT = g++
CFLAGS += $(shell pkg-config libusb-1.0 --cflags)
LDFLAGS += $(shell pkg-config libusb-1.0 --libs)
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
# cppUTest
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
mesh_pts: mesh_pts.h ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${GATT_SERVER_OBJ} ${SM_OBJ} ${MESH_OBJ} main.o mesh_pts.o
${CC} $(filter-out mesh_pts.h,$^) ${CFLAGS} ${LDFLAGS} -o $@
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON_OBJ))
CORE_OBJ_COVERAGE = $(addprefix build-coverage/,$(CORE_OBJ))
ATT_OBJ_COVERAGE = $(addprefix build-coverage/,$(ATT_OBJ))
GATT_SERVER_OBJ_COVERAGE = $(addprefix build-coverage/,$(GATT_SERVER_OBJ))
SM_OB_COVERAGE = $(addprefix build-coverage/,$(SM_OB))
MESH_OBJ_COVERAGE = $(addprefix build-coverage/,$(MESH_OBJ))
provisioner: ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${SM_OBJ} main.o pb_adv.o mesh_crypto.o provisioning_provisioner.o mesh_keys.o mesh_foundation.o mesh_network.o provisioner.o
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
sniffer: ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${SM_OBJ} main.o mesh_keys.o mesh_network.o mesh_foundation.o sniffer.c
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-coverage/mesh_message_test: $(addprefix build-coverage/, mesh_message_test.o mesh_foundation.o mesh_node.o mesh_iv_index_seq_number.o mesh_network.o mesh_peer.o mesh_lower_transport.o mesh_upper_transport.o mesh_virtual_addresses.o mesh_keys.o mesh_crypto.o btstack_memory.o btstack_memory_pool.o btstack_util.o btstack_crypto.o btstack_linked_list.o hci_dump.o uECC.o mock.o rijndael.o hci_cmd.o)
g++ $^ ${CFLAGS} ${LDFLAGS} -o $@
build-coverage/provisioning_device_test: $(addprefix build-coverage/, provisioning_device_test.o uECC.o mesh_crypto.o provisioning_device.o btstack_crypto.o btstack_util.o btstack_linked_list.o mesh_node.o mock.o rijndael.o hci_cmd.o hci_dump.o)
${CC_UNIT} ${CFLAGS} ${LDFLAGS} $^ -lCppUTest -lCppUTestExt -o $@
build-coverage/provisioning_provisioner_test: $(addprefix build-coverage/, provisioning_provisioner_test.o uECC.o mesh_crypto.o provisioning_provisioner.o btstack_crypto.o btstack_util.o btstack_linked_list.o mock.o rijndael.o hci_cmd.o hci_dump.o)
${CC_UNIT} ${CFLAGS} ${LDFLAGS} $^ -lCppUTest -lCppUTestExt -o $@
build-coverage/mesh_configuration_composition_data_message_test: ${CORE_OBJ} ${COMMON_OBJ} ${ATT_OBJ} ${MESH_OBJ} build-coverage/mesh_configuration_composition_data_message_test.o
${CC_UNIT} ${CFLAGS} ${LDFLAGS} $^ -lCppUTest -lCppUTestExt -o $@
COMMON_OBJ_ASAN = $(addprefix build-asan/,$(COMMON_OBJ))
CORE_OBJ_ASAN = $(addprefix build-asan/,$(CORE_OBJ))
ATT_OBJ_ASAN = $(addprefix build-asan/,$(ATT_OBJ))
GATT_SERVER_OBJ_ASAN = $(addprefix build-asan/,$(GATT_SERVER_OBJ))
SM_OB_ASAN = $(addprefix build-asan/,$(SM_OB))
MESH_OBJ_ASAN = $(addprefix build-asan/,$(MESH_OBJ))
TESTS_SRCS = mesh_message_test provisioning_device_test provisioning_provisioner_test mesh_configuration_composition_data_message_test
EXAMPLES = mesh_pts provisioner sniffer
EXAMPLES = mesh_pts provisioner sniffer
all: $(addprefix build-asan/,$(EXAMPLES))
tests: $(addprefix build-asan/,$(TESTS_SRCS))
build-%:
mkdir -p $@
all: ${EXAMPLES}
tests: $(addprefix build-coverage/,$(TESTS_SRCS))
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@
${CC} -c $(CFLAGS_COVERAGE) ${CPPFLAGS} $< -o $@
build-coverage/%.o: %.cpp | build-coverage
${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@
${CC} -c $(CFLAGS_COVERAGE) ${CPPFLAGS} $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) ${CPPFLAGS} $< -o $@
build-asan/%.o: %.cpp | build-asan
${CC} -c $(CFLAGS_ASAN) ${CPPFLAGS} $< -o $@
build-asan/mesh_pts: mesh_pts.h ${CORE_OBJ_ASAN} ${COMMON_OBJ_ASAN} ${ATT_OBJ_ASAN} ${GATT_SERVER_OBJ_ASAN} ${SM_OBJ_ASAN} ${MESH_OBJ_ASAN} build-asan/main.o build-asan/mesh_pts.o
${CC} $(filter-out mesh_pts.h,$^) ${LDFLAGS_ASAN} -o $@
build-asan/provisioner: ${CORE_OBJ_ASAN} ${COMMON_OBJ_ASAN} ${ATT_OBJ_ASAN} ${SM_OBJ_ASAN} build-asan/main.o build-asan/pb_adv.o build-asan/mesh_crypto.o build-asan/provisioning_provisioner.o build-asan/mesh_keys.o build-asan/mesh_foundation.o build-asan/mesh_network.o build-asan/provisioner.o
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-asan/sniffer: ${CORE_OBJ_ASAN} ${COMMON_OBJ_ASAN} ${ATT_OBJ_ASAN} ${SM_OBJ_ASAN} build-asan/main.o build-asan/mesh_keys.o build-asan/mesh_network.o build-asan/mesh_foundation.o build-asan/sniffer.o
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-asan/mesh_message_test: $(addprefix build-asan/, mesh_message_test.o mesh_foundation.o mesh_node.o mesh_iv_index_seq_number.o mesh_network.o mesh_peer.o mesh_lower_transport.o mesh_upper_transport.o mesh_virtual_addresses.o mesh_keys.o mesh_crypto.o btstack_memory.o btstack_memory_pool.o btstack_util.o btstack_crypto.o btstack_linked_list.o hci_dump.o uECC.o mock.o rijndael.o hci_cmd.o) | build-asan
g++ $^ ${CFLAGS} ${LDFLAGS_ASAN} -o $@
build-asan/provisioning_device_test: $(addprefix build-asan/, provisioning_device_test.o uECC.o mesh_crypto.o provisioning_device.o btstack_crypto.o btstack_util.o btstack_linked_list.o mesh_node.o mock.o rijndael.o hci_cmd.o hci_dump.o) | build-asan
${CC_UNIT} ${LDFLAGS_ASAN} $^ -lCppUTest -lCppUTestExt -o $@
build-asan/provisioning_provisioner_test: $(addprefix build-asan/, provisioning_provisioner_test.o uECC.o mesh_crypto.o provisioning_provisioner.o btstack_crypto.o btstack_util.o btstack_linked_list.o mock.o rijndael.o hci_cmd.o hci_dump.o) | build-asan
${CC_UNIT} ${LDFLAGS_ASAN} $^ -lCppUTest -lCppUTestExt -o $@
build-asan/mesh_configuration_composition_data_message_test: ${CORE_OBJ_ASAN} ${COMMON_OBJ_ASAN} ${ATT_OBJ_ASAN} ${MESH_OBJ_ASAN} build-asan/mesh_configuration_composition_data_message_test.o | build-asan
${CC_UNIT} ${LDFLAGS_ASAN} $^ -lCppUTest -lCppUTestExt -o $@
build-coverage:
mkdir -p build-coverage
test: tests
# Ignore leaks in mesh message test as tests stop before all PDUs are fully processed
ASAN_OPTIONS=detect_leaks=0 build-coverage/mesh_message_test
build-coverage/provisioning_device_test
build-coverage/provisioning_provisioner_test
build-coverage/mesh_configuration_composition_data_message_test
ASAN_OPTIONS=detect_leaks=0 build-asan/mesh_message_test
build-asan/provisioning_device_test
build-asan/provisioning_provisioner_test
build-asan/mesh_configuration_composition_data_message_test
coverage: tests
# Ignore leaks in mesh message test as tests stop before all PDUs are fully processed
ASAN_OPTIONS=detect_leaks=0 build-coverage/mesh_message_test
build-coverage/provisioning_device_test
build-coverage/provisioning_provisioner_test
build-coverage/mesh_configuration_composition_data_message_test
rm -f build-coverage/*.gcda
@echo "no coverage here"
clean:
rm -f *.o *.out *.exe
rm -rf *.dSYM
rm -f ${EXAMPLES}
rm -f mesh_provisioning_device.h
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -6,7 +6,6 @@ BTSTACK_ROOT = ../..
CPPUTEST_HOME = ${BTSTACK_ROOT}/test/cpputest
CFLAGS = -g -Wall -I. -I../ -I${BTSTACK_ROOT}/src -I${BTSTACK_ROOT}/include
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
VPATH += ${BTSTACK_ROOT}/src/ble
@ -19,26 +18,41 @@ COMMON = \
hci_dump.c \
obex_message_builder.c \
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
all: build-coverage/obex_message_builder_test
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/obex_message_builder_test build-asan/obex_message_builder_test
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-coverage/obex_message_builder_test: ${COMMON_OBJ} build-coverage/obex_message_builder_test.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/obex_message_builder_test: ${COMMON_OBJ_COVERAGE} build-coverage/obex_message_builder_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/obex_message_builder_test: ${COMMON_OBJ_ASAN} build-asan/obex_message_builder_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
test: all
build-coverage/obex_message_builder_test
build-asan/obex_message_builder_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/obex_message_builder_test
clean:
rm -fr build-coverage *.dSYM *.o
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -6,7 +6,6 @@ BTSTACK_ROOT = ../..
CPPUTEST_HOME = ${BTSTACK_ROOT}/test/cpputest
CFLAGS = -g -Wall -I. -I../ -I${BTSTACK_ROOT}/src
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
VPATH += ${BTSTACK_ROOT}/src
@ -14,26 +13,42 @@ VPATH += ${BTSTACK_ROOT}/src
COMMON = \
btstack_ring_buffer.c \
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
all: build-coverage/btstack_ring_buffer_test
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/btstack_ring_buffer_test build-asan/btstack_ring_buffer_test
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/btstack_ring_buffer_test: ${COMMON_OBJ_COVERAGE} build-coverage/btstack_ring_buffer_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/btstack_ring_buffer_test: ${COMMON_OBJ_ASAN} build-asan/btstack_ring_buffer_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-coverage/btstack_ring_buffer_test: ${COMMON_OBJ} build-coverage/btstack_ring_buffer_test.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
test: all
build-coverage/btstack_ring_buffer_test
build-asan/btstack_ring_buffer_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/btstack_ring_buffer_test
clean:
rm -fr build-coverage *.dSYM *.o ../src/*.o *.gcda *.gcno
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -8,8 +8,6 @@ CFLAGS = -g -Wall \
-I.. \
-I${BTSTACK_ROOT}/src \
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
VPATH += ${BTSTACK_ROOT}/src
@ -55,27 +53,43 @@ COMMON = \
spp_server.c \
btstack_hid_parser.c \
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
all: build-coverage/sdp_record_builder
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: build-coverage/sdp_record_builder build-asan/sdp_record_builder
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/sdp_record_builder: ${COMMON_OBJ_COVERAGE} build-coverage/sdp_record_builder.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/sdp_record_builder: ${COMMON_OBJ_ASAN} build-asan/sdp_record_builder.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-coverage/sdp_record_builder: ${COMMON_OBJ} build-coverage/sdp_record_builder.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
test: all
build-coverage/sdp_record_builder
build-asan/sdp_record_builder
coverage: all
rm -f build-coverage/*.gcda
build-coverage/sdp_record_builder
clean:
rm -f *.o
rm -rf *.dSYM build-coverage
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -6,9 +6,7 @@ BTSTACK_ROOT = ../..
CPPUTEST_HOME = ${BTSTACK_ROOT}/test/cpputest
CFLAGS = -g -Wall -I.. -I${BTSTACK_ROOT}/src
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
# -L$(CPPUTEST_HOME)
VPATH += ${BTSTACK_ROOT}/src/classic
VPATH += ${BTSTACK_ROOT}/src
@ -22,42 +20,67 @@ COMMON = \
hci_dump.c \
btstack_util.c \
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
all: $(addprefix build-coverage/, sdp_rfcomm_query general_sdp_query service_attribute_search_query service_search_query)
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
all: $(addprefix build-coverage/, sdp_rfcomm_query general_sdp_query service_attribute_search_query service_search_query) \
$(addprefix build-asan/, sdp_rfcomm_query general_sdp_query service_attribute_search_query service_search_query)
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-coverage/sdp_rfcomm_query: ${COMMON_OBJ} build-coverage/sdp_client_rfcomm.o build-coverage/sdp_rfcomm_query.o build-coverage/btstack_linked_list.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/general_sdp_query: ${COMMON_OBJ} build-coverage/general_sdp_query.o build-coverage/btstack_linked_list.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-coverage/service_attribute_search_query: ${COMMON_OBJ} build-coverage/service_attribute_search_query.o build-coverage/btstack_linked_list.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
build-coverage/sdp_rfcomm_query: ${COMMON_OBJ_COVERAGE} build-coverage/sdp_client_rfcomm.o build-coverage/sdp_rfcomm_query.o build-coverage/btstack_linked_list.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-coverage/general_sdp_query: ${COMMON_OBJ_COVERAGE} build-coverage/general_sdp_query.o build-coverage/btstack_linked_list.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-coverage/service_attribute_search_query: ${COMMON_OBJ_COVERAGE} build-coverage/service_attribute_search_query.o build-coverage/btstack_linked_list.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-coverage/service_search_query: ${COMMON_OBJ_COVERAGE} build-coverage/service_search_query.o build-coverage/btstack_linked_list.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/sdp_rfcomm_query: ${COMMON_OBJ_ASAN} build-asan/sdp_client_rfcomm.o build-asan/sdp_rfcomm_query.o build-asan/btstack_linked_list.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-asan/general_sdp_query: ${COMMON_OBJ_ASAN} build-asan/general_sdp_query.o build-asan/btstack_linked_list.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-asan/service_attribute_search_query: ${COMMON_OBJ_ASAN} build-asan/service_attribute_search_query.o build-asan/btstack_linked_list.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-asan/service_search_query: ${COMMON_OBJ_ASAN} build-asan/service_search_query.o build-asan/btstack_linked_list.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-coverage/service_search_query: ${COMMON_OBJ} build-coverage/service_search_query.o build-coverage/btstack_linked_list.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
test: all
ASAN_OPTIONS=detect_leaks=0 build-asan/sdp_rfcomm_query
build-asan/general_sdp_query
build-asan/service_attribute_search_query
build-asan/service_search_query
coverage: all
rm -f build-coverage/*.gcda
ASAN_OPTIONS=detect_leaks=0 build-coverage/sdp_rfcomm_query
build-coverage/general_sdp_query
build-coverage/service_attribute_search_query
build-coverage/service_search_query
coverage: all
ASAN_OPTIONS=detect_leaks=0 build-coverage//sdp_rfcomm_query
build-coverage//general_sdp_query
build-coverage//service_attribute_search_query
build-coverage//service_search_query
clean:
rm -f sdp_rfcomm_query general_sdp_query service_attribute_search_query service_search_query *.o *.o
rm -rf *.dSYM
rm -f *.gcno *.gcda
clean:
rm -rf build-coverage build-asan

View File

@ -5,14 +5,12 @@ CC = g++
BTSTACK_ROOT = ../..
CFLAGS = -DUNIT_TEST -g
CPPFLAGS = -x c++ -Wall -Wno-unused
CFLAGS += -x c++ -Wall -Wno-unused
CFLAGS += -I. -I.. -I${BTSTACK_ROOT}/src
#CFLAGS += -I${BTSTACK_ROOT}/platform/posix
CFLAGS += -I${BTSTACK_ROOT}/platform/embedded
CFLAGS += -I${BTSTACK_ROOT}/3rd-party/mbedtls/include
CFLAGS += -I${BTSTACK_ROOT}/3rd-party/micro-ecc
CFLAGS += -I${BTSTACK_ROOT}/3rd-party/rijndael
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
VPATH += ${BTSTACK_ROOT}/src
@ -38,28 +36,44 @@ COMMON = \
btstack_util.c \
btstack_tlv.c \
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
CORE_OBJ = $(addprefix build-coverage/,$(CORE:.c=.o))
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
all: build-coverage/security_manager
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
LDFLAGS_ASAN = ${LDFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
COMMON_OBJ_COVERAGE = $(addprefix build-coverage/,$(COMMON:.c=.o))
COMMON_OBJ_ASAN = $(addprefix build-asan/, $(COMMON:.c=.o))
CORE_OBJ_COVERAGE = $(addprefix build-coverage/,$(CORE:.c=.o))
CORE_OBJ_ASAN = $(addprefix build-asan/, $(CORE:.c=.o))
all: build-coverage/security_manager build-asan/security_manager
build-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) ${CPPFLAGS} $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/security_manager: ${CORE_OBJ_COVERAGE} ${COMMON_OBJ_COVERAGE} build-coverage/security_manager.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/security_manager: ${CORE_OBJ_ASAN} ${COMMON_OBJ_ASAN} build-asan/security_manager.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-coverage/security_manager: ${CORE_OBJ} ${COMMON_OBJ} build-coverage/security_manager.o | build-coverage
${CC} ${CORE_OBJ} ${COMMON_OBJ} security_manager.c ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -o $@
test: all
build-coverage/security_manager
build-asan/security_manager
coverage: all
rm -f build-coverage/*.gcda
build-coverage/security_manager
clean:
rm -f *.o
rm -rf *.dSYM build-coverage
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan

View File

@ -85,8 +85,8 @@ build-coverage/%.h: %.gatt
all: build-coverage/sm_test
build-coverage:
mkdir -p build-coverage
build-%:
mkdir -p $@
build-coverage/sm_test.h: sm_test.gatt | build-coverage
python3 ${BTSTACK_ROOT}/tool/compile_gatt.py $< $@
@ -112,7 +112,7 @@ test: sm_test
coverage: sm_test
# delete trace data
find . -name "*.gcda" -type f -delete
rm -f build-coverage/*.gcda
# run tests
make test
# collect traces

View File

@ -9,8 +9,6 @@ COMMON = \
btstack_linked_list.c \
hci_dump.c \
COMMON_OBJ = $(addprefix build-coverage/,$(COMMON:.c=.o))
VPATH = \
${BTSTACK_ROOT}/src \
${BTSTACK_ROOT}/src/classic \
@ -27,26 +25,43 @@ CFLAGS = \
-I${BTSTACK_ROOT}/src \
-I${BTSTACK_ROOT}/platform/posix \
CFLAGS += -fprofile-arcs -ftest-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
all: build-coverage/tlv_test
CFLAGS_COVERAGE = ${CFLAGS} -fprofile-arcs -ftest-coverage
CFLAGS_ASAN = ${CFLAGS} -fsanitize=address
build-coverage:
mkdir -p build-coverage
LDFLAGS += -lCppUTest -lCppUTestExt
LDFLAGS_COVERAGE = ${LDFLAGS} -fprofile-arcs -ftest-coverage
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-%:
mkdir -p $@
build-coverage/%.o: %.c | build-coverage
${CC} -c $(CFLAGS) $< -o $@
${CC} -c $(CFLAGS_COVERAGE) $< -o $@
build-asan/%.o: %.c | build-asan
${CC} -c $(CFLAGS_ASAN) $< -o $@
build-coverage/tlv_test: ${COMMON_OBJ_COVERAGE} build-coverage/tlv_test.o | build-coverage
${CC} $^ ${LDFLAGS_COVERAGE} -o $@
build-asan/tlv_test: ${COMMON_OBJ_ASAN} build-asan/tlv_test.o | build-asan
${CC} $^ ${LDFLAGS_ASAN} -o $@
build-coverage/tlv_test: ${COMMON_OBJ} build-coverage/tlv_test.o | build-coverage
${CC} $^ ${CFLAGS} ${LDFLAGS} -o $@
test: all
build-coverage/tlv_test
build-asan/tlv_test
coverage: all
rm -f build-coverage/*.gcda
build-coverage/tlv_test
clean:
rm -rf *.o build-coverage *.dSYM *.pklg
rm -f *.gcno *.gcda
rm -rf build-coverage build-asan