Commit 5e5f9239 authored by Sergio Gonzalez Diaz's avatar Sergio Gonzalez Diaz
Browse files

Test coverage

parent 41358efd
Loading
Loading
Loading
Loading

src/coverage.sh

0 → 100644
+17 −0
Original line number Diff line number Diff line
#!/bin/bash

PROJECTDIR=`pwd`
COMPONENT=$1
RCFILE=$PROJECTDIR/coverage/.coveragerc
COVERAGEFILE=$PROJECTDIR/coverage/.coverage

# configure the correct folder on the .coveragerc file
cat $PROJECTDIR/coverage/.coveragerc.template | sed s+~/teraflow/controller/src+$PROJECTDIR+g > $RCFILE

# run unitary tests and analyze coverage of code at same time
coverage run --rcfile=$RCFILE -m pytest --log-level=INFO --verbose \
    $1/tests/test_unitary.py --junitxml=$1_report.xml
coverage xml --rcfile=$RCFILE -o $1_coverage.xml


+19 −0
Original line number Diff line number Diff line
[run]
data_file = ~/teraflow/controller/src/coverage/.coverage
relative_files = True
source = 
omit =
    */proto/*
    */__main__.py

[report]
exclude_lines =
    pragma: no cover
    if\ TYPE\_CHECKING\:
    raise\ NotImplementedError

[html]
directory = ~/teraflow/controller/src/coverage/html_report

[xml]
output = ~/teraflow/controller/src/coverage/report.xml
+7 −5
Original line number Diff line number Diff line
@@ -44,13 +44,14 @@ unit test monitoring:
    - docker ps -a
    - docker logs $IMAGE_NAME
    # - docker exec -i $IMAGE_NAME bash -c "coverage run --omit=common/*,device/*,context/* -m pytest --junitxml=/opt/results/report.xml; coverage report; coverage xml -o coverage.xml"
    # - docker exec -i $IMAGE_NAME bash -c "COVERAGE_FILE=.coverage_$IMAGE_NAME coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/opt/results/report.xml; ls"
    - docker exec -i $IMAGE_NAME bash -c "coverage run --rcfile=/opt/results/.coveragerc --append -m pytest --log-level=INFO --verbose --junitxml=/opt/results/report.xml $IMAGE_NAME/tests/test_unitary.py; ls -a /opt/results" 
    # - docker exec -i $IMAGE_NAME bash -c "COVERAGE_FILE=.coverage.$IMAGE_NAME coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/opt/results/report.xml; ls"
    # - docker exec -i $IMAGE_NAME bash -c "coverage run --rcfile=/opt/results/.coveragerc --append -m pytest --log-level=INFO --verbose --junitxml=/opt/results/report.xml $IMAGE_NAME/tests/test_unitary.py; ls -a /opt/results" 
    # - coverage report --rcfile=$CI_PROJECT_DIR/coverage/.coveragerc --sort cover --show-missing --skip-covered
    - docker exec -i $IMAGE_NAME bash -c "./coverage.sh $IMAGE_NAME; mv $IMAGE_NAME_coverage.xml $IMAGE_NAME_report.xml /opt/results; mv coverage/.coverage /opt/results/.coverage.$IMAGE_NAME" 
    - ls -a $PWD/src/$IMAGE_NAME/tests
    # - coverage combine 
    - coverage report --rcfile=.coveragerc
  coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/'
    # - coverage report --rcfile=.coveragerc
  # coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/'
  after_script:
    - docker rm -f $IMAGE_NAME
    - docker rm -f  influxdb
@@ -68,7 +69,8 @@ unit test monitoring:
  artifacts:
      when: always
      reports:
        junit: src/$IMAGE_NAME/tests/report.xml
        junit: src/$IMAGE_NAME/tests/$IMAGE_NAME_report.xml
        cobertura: src/$IMAGE_NAME/tests/$IMAGE_NAME_coverage.xml

# Deployment of the service in Kubernetes Cluster
deploy monitoring:
+3 −0
Original line number Diff line number Diff line
@@ -42,6 +42,9 @@ COPY device/client/. device/client
COPY device/Config.py device
COPY common/. common
COPY context/. context
COPY coverage/. coverage
COPY coverage.sh coverage.sh
RUN chmod +x ./coverage.sh

RUN rm -r common/message_broker/tests
RUN rm -r common/orm/tests