xref: /btstack/test/Makefile (revision 0561b2d8d5dba972c7daa57d5e677f7a1327edfd)
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