44 строки
966 B
Bash
Исполняемый файл
44 строки
966 B
Bash
Исполняемый файл
#!/bin/sh
|
|
set -eu
|
|
|
|
# To filter only on c++ stuff:
|
|
# scripts/gen_html_coverage.sh -ext "*.cpp,*.hh"
|
|
|
|
SCRIPT_DIR=$(dirname "$0")
|
|
case $SCRIPT_DIR in
|
|
"/"*)
|
|
;;
|
|
".")
|
|
SCRIPT_DIR=$(pwd)
|
|
;;
|
|
*)
|
|
SCRIPT_DIR=$(pwd)/$(dirname "$0")
|
|
;;
|
|
esac
|
|
|
|
FILTER=""
|
|
if test $# -ge 1; then
|
|
if test "$1" = "--help"; then
|
|
echo "Usage: gen_html_coverage.sh [--help] [-ext \"ext1,...\"]"
|
|
exit
|
|
fi
|
|
|
|
if test "$1" = "-ext"; then
|
|
FILTER="$2"
|
|
shift
|
|
shift
|
|
fi
|
|
|
|
if test $# -ge 1; then
|
|
echo "Invalid option: $1"
|
|
echo "Usage: gen_html_coverage.sh [--help] [-ext \"ext1,...\"]"
|
|
exit
|
|
fi
|
|
fi
|
|
|
|
rm -rf coverage_html
|
|
lcov --directory src --directory include --capture --output-file proj.info
|
|
"$SCRIPT_DIR"/filter_lcov_info.py "$FILTER" < proj.info > proj.info.filtered
|
|
mv proj.info.filtered proj.info
|
|
genhtml -o ./coverage_html --ignore-errors source --num-spaces 2 proj.info
|