summaryrefslogtreecommitdiff
path: root/.gitlab-ci/coverage-docker.sh
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci/coverage-docker.sh')
-rwxr-xr-x.gitlab-ci/coverage-docker.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/.gitlab-ci/coverage-docker.sh b/.gitlab-ci/coverage-docker.sh
new file mode 100755
index 0000000..a1b271e
--- /dev/null
+++ b/.gitlab-ci/coverage-docker.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+set -e
+
+# Make the Windows paths match our current layout
+python ./.gitlab-ci/fixup-lcov-paths.py coverage/*.lcov
+
+# Remove external headers (except gi tests)
+for path in coverage/*.lcov; do
+ lcov --config-file .gitlab-ci/lcovrc -r "${path}" '/usr/include/*' -o "${path}"
+ lcov --config-file .gitlab-ci/lcovrc -r "${path}" '/home/*' -o "${path}"
+ lcov --config-file .gitlab-ci/lcovrc -r "${path}" '*/msys64/*' -o "${path}"
+ lcov --config-file .gitlab-ci/lcovrc -r "${path}" '*subprojects/*' -o "${path}"
+ lcov --config-file .gitlab-ci/lcovrc -r "${path}" '*tmp-introspect*' -o "${path}"
+done
+
+genhtml --ignore-errors=source --config-file .gitlab-ci/lcovrc \
+ coverage/*.lcov -o coverage/
+
+cd coverage
+rm -f .coverage*
+rm -f *.lcov