Build a code coverage report with gcov and lcov (#1221)

This commit is contained in:
Rangi
2023-11-07 18:03:26 -05:00
committed by GitHub
parent f3dbf17b78
commit 765ae3f484
3 changed files with 40 additions and 1 deletions

27
contrib/coverage.bash Executable file
View File

@@ -0,0 +1,27 @@
#!/usr/bin/env bash
set -e
# Build RGBDS with gcov support
make coverage -j
# Run the tests
for dir in asm link fix gfx; do
pushd test/$dir
./test.sh
popd
done
# Generate coverage logs
gcov src/**/*.{c,cpp}
mkdir -p coverage
# Generate coverage report
lcov -c --no-external -d . -o coverage/coverage.info
genhtml -f -s -o coverage/ coverage/coverage.info
# Open report in web browser
if [ "$(uname)" == "Darwin" ]; then
open coverage/index.html
else
xdg-open coverage/index.html
fi