lcov-report/lcov-report.sh | 116 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+)
New commits: commit a9b64f309fdae9135d7223f0aec55d95a7517f13 Author: Maarten Hoes <[email protected]> Date: Sat Nov 8 23:10:51 2014 +0100 shell script to generate lcov code coverage reports. Change-Id: I684207b6aad4549a9f333ab800dae0ed0b507bab Reviewed-on: https://gerrit.libreoffice.org/12315 Reviewed-by: Norbert Thiebaud <[email protected]> Tested-by: Norbert Thiebaud <[email protected]> diff --git a/lcov-report/lcov-report.sh b/lcov-report/lcov-report.sh new file mode 100755 index 0000000..7f5c2b6 --- /dev/null +++ b/lcov-report/lcov-report.sh @@ -0,0 +1,116 @@ +#!/bin/sh + +SRC_DIR=/home/buildslave/source/libo-core +TRACEFILE_DIR=/home/buildslave/lcov +HTML_DIR=/home/buildslave/lcov/html + +if [ ! -d "$SRC_DIR" ] +then + echo "ERROR: Failed to locate directory $SRC_DIR" >&2 + exit 1 +fi + +rm -rf "$TRACEFILE_DIR" "$HTML_DIR" + +mkdir "$TRACEFILE_DIR" +if [ "$?" != "0" ] +then + echo "ERROR: Failed to create directory $TRACEFILE_DIR" >&2 +fi + +mkdir "$HTML_DIR" +if [ "$?" != "0" ] +then + echo "ERROR: Failed to create directory $HTML_DIR" >&2 +fi + +lcov --zerocounters --directory "$SRC_DIR" + +cd "$SRC_DIR" +make distclean +MY_EXITCODE=$? +if [ "$MY_EXITCODE" != "0" ] +then + echo "ERROR: make distclean failed with exitcode $MY_EXITCODE" >&2 + exit "$MY_EXITCODE" +fi + +./autogen.sh + +LDFLAGS+='-fprofile-arcs' CFLAGS+='-fprofile-arcs -ftest-coverage' CXXFLAGS+='-fprofile-arcs -ftest-coverage' CPPFLAGS+='-fprofile-arcs -ftest-coverage' ./configure --disable-online-update --without-system-libs --without-system-headers +MY_EXITCODE=$? +if [ "$MY_EXITCODE" != "0" ] +then + echo "ERROR: configure failed with exitcode $MY_EXITCODE" >&2 + exit "$MY_EXITCODE" +fi + +make build-nocheck +MY_EXITCODE=$? +if [ "$MY_EXITCODE" != "0" ] +then + echo "ERROR: make build-nocheck failed with exitcode $MY_EXITCODE" >&2 + exit "$MY_EXITCODE" +fi + + +lcov --rc geninfo_auto_base=1 --no-external --capture --initial --directory "$SRC_DIR" --output-file "$TRACEFILE_DIR"/libreoffice_base.info +MY_EXITCODE=$? +if [ "$MY_EXITCODE" != "0" ] +then + echo "ERROR: tracefile $TRACEFILE_DIR/libreoffice_base.info generation failed with exitcode $MY_EXITCODE" >&2 + exit "$MY_EXITCODE" +fi + +make check +MY_EXITCODE=$? +if [ "$MY_EXITCODE" != "0" ] +then + echo "ERROR: make check failed with exitcode $MY_EXITCODE" >&2 + exit "$MY_EXITCODE" +fi + +lcov --rc geninfo_auto_base=1 --no-external --capture --directory "$SRC_DIR" --output-file "$TRACEFILE_DIR"/libreoffice_test.info +MY_EXITCODE=$? +if [ "$MY_EXITCODE" != "0" ] +then + echo "ERROR: tracefile $TRACEFILE_DIR/libreoffice_test.info generation failed with exitcode $MY_EXITCODE" >&2 + exit "$MY_EXITCODE" +fi + +lcov --rc geninfo_auto_base=1 --add-tracefile "$TRACEFILE_DIR"/libreoffice_base.info --add-tracefile "$TRACEFILE_DIR"/libreoffice_test.info --output-file "$TRACEFILE_DIR"/libreoffice_total.info +MY_EXITCODE=$? +if [ "$MY_EXITCODE" != "0" ] +then + echo "ERROR: tracefile generation $TRACEFILE_DIR/libreoffice_total.info failed with exitcode $MY_EXITCODE" >&2 + exit "$MY_EXITCODE" +fi + +lcov --rc geninfo_auto_base=1 --remove "$TRACEFILE_DIR"/libreoffice_total.info "/usr/include/*" "/usr/lib/*" "$SRC_DIR/*/UnpackedTarball/*" "$SRC_DIR/workdir/*" "$SRC_DIR/instdir/*" "$SRC_DIR/external/*" -o "$TRACEFILE_DIR"/libreoffice_filtered.info +MY_EXITCODE=$? +if [ "$MY_EXITCODE" != "0" ] +then + echo "ERROR: tracefile generation $TRACEFILE_DIR/libreoffice_filtered.info failed with exitcode $MY_EXITCODE" >&2 + exit "$MY_EXITCODE" +fi + +cd "$SRC_DIR" +COMMIT_SHA1=$(git log --date=iso | head -3 | awk '/^commit/ {print $2}') +COMMIT_DATE=$(git log --date=iso | head -3 | awk '/^Date/ {print $2}') +COMMIT_TIME=$(git log --date=iso | head -3 | awk '/^Date/ {print $3}') +mkdir "$HTML_DIR"/master~"$COMMIT_DATE"_"$COMMIT_TIME" +MY_EXITCODE=$? +if [ ! -d "$HTML_DIR"/master~"$COMMIT_DATE"_"$COMMIT_TIME" ] +then + echo >&2 ERROR: failed to create subdirectory in $HTML_DIR/master~"$COMMIT_DATE"_"$COMMIT_TIME" with exitcode $MY_EXITCODE + exit "$MY_EXITCODE" +fi + +genhtml --rc geninfo_auto_base=1 --prefix "$SRC_DIR" --ignore-errors source "$TRACEFILE_DIR"/libreoffice_filtered.info --legend --title "commit $COMMIT_SHA1" --output-directory="$HTML_DIR"/master~"$COMMIT_DATE"_"$COMMIT_TIME" +MY_EXITCODE=$? +if [ "$MY_EXITCODE" != "0" ] +then + echo >&2 ERROR: Generation of html files in $HTML_DIR/master~"$COMMIT_DATE"_"$COMMIT_TIME" failed with exitcode $MY_EXITCODE + exit "$MY_EXITCODE" +fi + _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
