diff options
Diffstat (limited to 'BuildTools/Coverage/GenerateCoverageResults.sh')
-rwxr-xr-x | BuildTools/Coverage/GenerateCoverageResults.sh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/BuildTools/Coverage/GenerateCoverageResults.sh b/BuildTools/Coverage/GenerateCoverageResults.sh new file mode 100755 index 0000000..f06c484 --- /dev/null +++ b/BuildTools/Coverage/GenerateCoverageResults.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +# This script assumes that it is run from the toplevel directory + +SOURCE_DIR=. +SCRIPT_DIR=BuildTools/Coverage +LCOVDIR=3rdParty/LCov + +RESULTS_DIR=BuildTools/Coverage/results +OUTPUT_DIR=$RESULTS_DIR/coverage-`git log --pretty=format:%ct-%h | head -n 1` + +if [ ! -d $OUTPUT_DIR ]; then + mkdir -p $OUTPUT_DIR +fi + +# Reset counters +$LCOVDIR/lcov --zerocounters --directory $SOURCE_DIR + +# Build & run all tests +scons coverage=1 test=all + +# Run SCons +$LCOVDIR/lcov --capture --directory $SOURCE_DIR -b $SOURCE_DIR --output-file $OUTPUT_DIR/all.info --test-name all +cp $OUTPUT_DIR/all.info $OUTPUT_DIR/all.info.orig +$SCRIPT_DIR/FilterLCovData.py $OUTPUT_DIR/all.info + +# Generate HTML +$LCOVDIR/gendesc -o $OUTPUT_DIR/descriptions $SCRIPT_DIR/descriptions.txt +$LCOVDIR/genhtml --no-function-coverage --title "Swift Coverage" --output-directory $OUTPUT_DIR $OUTPUT_DIR/all.info + +# Generate summary +$SCRIPT_DIR/GenerateSummary.py $OUTPUT_DIR/all.info $OUTPUT_DIR/summary |