about summary refs log tree commit diff
path: root/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh')
-rw-r--r--pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh18
1 files changed, 18 insertions, 0 deletions
diff --git a/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh b/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh
new file mode 100644
index 000000000000..2951666651c6
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh
@@ -0,0 +1,18 @@
+postPhases+=" coverageReportPhase"
+
+coverageReportPhase() {
+    lcov --directory . --capture --output-file app.info
+    set -o noglob
+    lcov --remove app.info $lcovFilter > app2.info
+    set +o noglob
+    mv app2.info app.info
+
+    mkdir -p $out/coverage
+    genhtml app.info $lcovExtraTraceFiles -o $out/coverage > log
+
+    # Grab the overall coverage percentage for use in release overviews.
+    mkdir -p $out/nix-support
+    grep "Overall coverage rate" log | sed 's/^.*(\(.*\)%).*$/\1/' > $out/nix-support/coverage-rate
+
+    echo "report coverage $out/coverage" >> $out/nix-support/hydra-build-products
+}