diff options
author | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2019-03-11 14:16:39 +0100 |
---|---|---|
committer | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2019-03-11 14:23:27 +0100 |
commit | a38f0f119181ac798f2b66ee7cfadd579da8be64 (patch) | |
tree | 1d2b3486092492d13469c8d3340de5a1bc52c487 /build/hv-collector-coverage | |
parent | f938e8a87a33f8db78115a92f5130d6296171c62 (diff) |
Assure coverage is checked for all modules
Change-Id: Ia9bb6cef9154d64cfa45455e38c9fe7603a64c74
Issue-ID: DCAEGEN2-1328
Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
Diffstat (limited to 'build/hv-collector-coverage')
-rwxr-xr-x | build/hv-collector-coverage/check-coverage.sh | 46 | ||||
-rw-r--r-- | build/hv-collector-coverage/pom.xml | 16 |
2 files changed, 48 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 diff --git a/build/hv-collector-coverage/pom.xml b/build/hv-collector-coverage/pom.xml index 9b3f257a..08fc5a22 100644 --- a/build/hv-collector-coverage/pom.xml +++ b/build/hv-collector-coverage/pom.xml @@ -90,6 +90,7 @@ <arguments> <argument>target/site/jacoco-aggregate/jacoco.xml</argument> <argument>${jacoco.minimum.coverage}</argument> + <argument>${project.parent.parent.basedir}/sources/pom.xml</argument> </arguments> </configuration> </plugin> @@ -99,6 +100,11 @@ <dependencies> <dependency> <groupId>${project.parent.groupId}</groupId> + <artifactId>hv-collector-commandline</artifactId> + <version>${project.parent.version}</version> + </dependency> + <dependency> + <groupId>${project.parent.groupId}</groupId> <artifactId>hv-collector-core</artifactId> <version>${project.parent.version}</version> </dependency> @@ -129,6 +135,16 @@ </dependency> <dependency> <groupId>${project.parent.groupId}</groupId> + <artifactId>hv-collector-ssl</artifactId> + <version>${project.parent.version}</version> + </dependency> + <dependency> + <groupId>${project.parent.groupId}</groupId> + <artifactId>hv-collector-test-utils</artifactId> + <version>${project.parent.version}</version> + </dependency> + <dependency> + <groupId>${project.parent.groupId}</groupId> <artifactId>hv-collector-utils</artifactId> <version>${project.parent.version}</version> </dependency> |