aboutsummaryrefslogtreecommitdiffstats
path: root/build/hv-collector-coverage/check-coverage.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build/hv-collector-coverage/check-coverage.sh')
-rwxr-xr-xbuild/hv-collector-coverage/check-coverage.sh46
1 files changed, 32 insertions, 14 deletions
diff --git a/build/hv-collector-coverage/check-coverage.sh b/build/hv-collector-coverage/check-coverage.sh
index 956891ac..cfd8f87f 100755
--- a/build/hv-collector-coverage/check-coverage.sh
+++ b/build/hv-collector-coverage/check-coverage.sh
@@ -3,6 +3,7 @@ set -euo pipefail
JACOCO_REPORT="$1"
MIN_COVERAGE_PERCENT="$2"
+ROOT_SOURCES_MODULE_POM="$3"
LOG_FILE=target/check-coverage.log
function coverage_from_report() {
@@ -10,21 +11,38 @@ function coverage_from_report() {
xpath -q -e "$xpath_expr" "$JACOCO_REPORT" 2>> ${LOG_FILE}
}
-missed=$(coverage_from_report missed)
-covered=$(coverage_from_report covered)
-total=$(($missed + $covered))
-coverage=$((100 * $covered / $total))
+function check_preconditions() {
+ local num_deps=$(grep -c 'project\.parent\.groupId' pom.xml)
+ local num_submodules=$(grep -c '<module>' ${ROOT_SOURCES_MODULE_POM})
+ local difference=$((${num_submodules}-${num_deps}))
-if [[ $(wc -c < ${LOG_FILE}) > 0 ]]; then
- echo "Warnings from xpath evaluation:"
- cat ${LOG_FILE}
- echo
-fi
+ if [[ ${difference} -ne 0 ]]; then
+ echo "Not all modules are included in the coverage report."
+ echo "Verify if all submodules of hv-collector-sources module are included as a dependency to hv-collector-coverage module."
+ echo "Number of missing modules: ${difference}"
+ exit 1
+ fi
+}
+
+function check_coverage() {
+ local missed=$(coverage_from_report missed)
+ local covered=$(coverage_from_report covered)
+ local total=$(($missed + $covered))
+ local coverage=$((100 * $covered / $total))
-echo "Coverage: $coverage% (covered/total: $covered/$total)"
+ if [[ $(wc -c < ${LOG_FILE}) > 0 ]]; then
+ echo "Warnings from xpath evaluation:"
+ cat ${LOG_FILE}
+ echo
+ fi
-if [[ ${coverage} -lt ${MIN_COVERAGE_PERCENT} ]]; then
- echo "Coverage is too low. Minimum coverage: $MIN_COVERAGE_PERCENT%"
- exit 1
-fi
+ echo "Coverage: $coverage% (covered/total: $covered/$total)"
+
+ if [[ ${coverage} -lt ${MIN_COVERAGE_PERCENT} ]]; then
+ echo "Coverage is too low. Minimum coverage: $MIN_COVERAGE_PERCENT%"
+ exit 1
+ fi
+}
+check_preconditions || exit 1
+check_coverage || exit 2