-CFLAGS=-ansi -Wall -Werror -I .. -g -O0
-DEPS=../pb_decode.c ../pb_decode.h ../pb_encode.c ../pb_encode.h ../pb.h person.h
-TESTS=test_decode1 test_encode1 decode_unittests
-
-all: $(TESTS)
+all:
+ scons
clean:
- rm -f $(TESTS)
+ scons -c
+
+coverage:
+ rm -rf build coverage
+
+ # LCOV does not like the newer gcov format
+ scons CC=gcc-4.6 CXX=gcc-4.6
-%: %.c $(DEPS)
- $(CC) $(CFLAGS) -o $@ $< ../pb_decode.c ../pb_encode.c
+ # Collect the data
+ mkdir build/coverage
+ lcov --base-directory . --directory build/ --gcov-tool gcov-4.6 -c -o build/coverage/nanopb.info
-run_unittests: decode_unittests
- ./decode_unittests
+ # Remove the test code from results
+ lcov -r build/coverage/nanopb.info '*tests*' -o build/coverage/nanopb.info
-run_fuzztest: test_decode1
- bash -c 'I=1; while cat /dev/urandom | ./test_decode1 > /dev/null; do I=$$(($$I+1)); echo -en "\r$$I"; done'
\ No newline at end of file
+ # Generate HTML
+ genhtml -o build/coverage build/coverage/nanopb.info