1 2# Makefile to build and run all tests 3 4SUBDIRS = \ 5 att_db \ 6 avdtp \ 7 avdtp_util \ 8 base64 \ 9 ble_client \ 10 btstack_link_key_db \ 11 crypto \ 12 des_iterator \ 13 embedded \ 14 flash_tlv \ 15 gatt_client \ 16 gatt_server \ 17 hfp \ 18 hid_parser \ 19 linked_list \ 20 map_test \ 21 mesh \ 22 obex \ 23 ring_buffer \ 24 sdp \ 25 sdp_client \ 26 security_manager \ 27 tlv_posix \ 28 29# not testing anything in source tree 30# maths \ 31 32# test fails 33 34# not unit-tests 35# avrcp \ 36# map_client \ 37# sbc \ 38.PHONY: coverage 39 40subdirs: 41 echo Building all tests 42 @set -e; \ 43 for dir in $(SUBDIRS); do \ 44 $(MAKE) -C $$dir; \ 45 done 46 47clean: 48 echo Clean all test 49 @set -e; \ 50 for dir in $(SUBDIRS); do \ 51 $(MAKE) -C $$dir clean; \ 52 done 53 54test: 55 echo Run all test 56 @set -e; \ 57 for dir in $(SUBDIRS); do \ 58 $(MAKE) -C $$dir test; \ 59 done 60 61coverage: 62 # delete trace data 63 rm -f coverage.info 64 find . -name "*.gcda" -type f -delete 65 # collect all files 66 # lcov --capture --initial --directory . --output-file coverage.info 67 # run tests 68 make test 69 # collect traces 70 lcov --capture --rc lcov_branch_coverage=1 --directory . --exclude "/Applications/*" --exclude "/Library/*" --exclude "/usr/*" --exclude "*/3rd-party/tinydir/*" --exclude "*/platform/posix/*" --exclude "*/test/*" --output-file coverage.info 71 # generate html output 72 genhtml coverage.info --branch-coverage --output-directory coverage-html 73 74coverage-freertos-ble: 75 ./coverage_filter.py src/mesh src/classic 76