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