| Index: third_party/pexpect/tools/teamcity-coverage-report.sh
|
| diff --git a/third_party/pexpect/tools/teamcity-coverage-report.sh b/third_party/pexpect/tools/teamcity-coverage-report.sh
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2e32241b7b71c3f28c040f9910b766f2a6becdde
|
| --- /dev/null
|
| +++ b/third_party/pexpect/tools/teamcity-coverage-report.sh
|
| @@ -0,0 +1,27 @@
|
| +#!/bin/bash
|
| +# This is to be executed by each individual OS test. It only
|
| +# combines coverage files and reports locally to the given
|
| +# TeamCity build configuration.
|
| +set -e
|
| +set -o pipefail
|
| +[ -z ${TEMP} ] && TEMP=/tmp
|
| +
|
| +# combine all .coverage* files,
|
| +coverage combine
|
| +
|
| +# create ascii report,
|
| +report_file=$(mktemp $TEMP/coverage.XXXXX)
|
| +coverage report --rcfile=`dirname $0`/../.coveragerc > "${report_file}" 2>/dev/null
|
| +
|
| +# Report Code Coverage for TeamCity, using 'Service Messages',
|
| +# https://confluence.jetbrains.com/display/TCD8/How+To...#HowTo...-ImportcoverageresultsinTeamCity
|
| +# https://confluence.jetbrains.com/display/TCD8/Custom+Chart#CustomChart-DefaultStatisticsValuesProvidedbyTeamCity
|
| +total_no_lines=$(awk '/TOTAL/{printf("%s",$2)}' < "${report_file}")
|
| +total_no_misses=$(awk '/TOTAL/{printf("%s",$3)}' < "${report_file}")
|
| +total_no_covered=$((${total_no_lines} - ${total_no_misses}))
|
| +echo "##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='""${total_no_lines}""']"
|
| +echo "##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='""${total_no_covered}""']"
|
| +
|
| +# Display for human consumption and remove ascii file.
|
| +cat "${report_file}"
|
| +rm "${report_file}"
|
|
|