diff --git a/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh b/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh index 4b8abb61ace..9108b4c5035 100644 --- a/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh +++ b/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh @@ -10,9 +10,16 @@ coverageReportPhase() { mkdir -p $out/coverage genhtml app.info $lcovExtraTraceFiles -o $out/coverage > log - # Grab the overall coverage percentage for use in release overviews. + # Grab the overall coverage percentage so that Hydra can plot it over time. mkdir -p $out/nix-support - grep "Overall coverage rate" log | sed 's/^.*(\(.*\)%).*$/\1/' > $out/nix-support/coverage-rate + lineCoverage="$(sed 's/.*lines\.*: \([0-9\.]\+\)%.*/\1/; t ; d' log)" + functionCoverage="$(sed 's/.*functions\.*: \([0-9\.]\+\)%.*/\1/; t ; d' log)" + if [ -z "$lineCoverage" -o -z "$functionCoverage" ]; then + echo "failed to get coverage statistics" + exit 1 + fi + echo "lineCoverage $lineCoverage %" >> $out/nix-support/hydra-metrics + echo "functionCoverage $functionCoverage %" >> $out/nix-support/hydra-metrics echo "report coverage $out/coverage" >> $out/nix-support/hydra-build-products }