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 gap \ 18 hfp \ 19 hid_parser \ 20 linked_list \ 21 map_test \ 22 mesh \ 23 obex \ 24 ring_buffer \ 25 sdp \ 26 sdp_client \ 27 security_manager \ 28 tlv_posix \ 29 30# not testing anything in source tree 31# maths \ 32 33# test fails 34 35# not unit-tests 36# avrcp \ 37# map_client \ 38# sbc \ 39.PHONY: coverage 40 41subdirs: 42 echo Building all tests 43 @set -e; \ 44 for dir in $(SUBDIRS); do \ 45 $(MAKE) -C $$dir; \ 46 done 47 48clean: 49 echo Clean all test 50 @set -e; \ 51 for dir in $(SUBDIRS); do \ 52 $(MAKE) -C $$dir clean; \ 53 done 54 55test: 56 echo Run all test 57 @set -e; \ 58 for dir in $(SUBDIRS); do \ 59 $(MAKE) -C $$dir test; \ 60 done 61 62coverage: 63 # delete trace data 64 rm -f coverage.info 65 find . -name "*.gcda" -type f -delete 66 # collect all files 67 # lcov --capture --initial --directory . --output-file coverage.info 68 # run tests 69 make test 70 # collect traces 71 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 72 # generate html output 73 genhtml coverage.info --branch-coverage --output-directory coverage-html 74 75coverage-freertos-ble: 76 ./coverage_filter.py src/mesh src/classic 77