diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0e7ee4d439ad251afd04c393043f2b7941b8c438..93b28dd9a0345042b61c57b1d74b00b2fc4985a4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,6 +36,7 @@ tests (from scratch): - lukas_issue095_tech_mlt-runner variables: FAILURE_THRESHOLD: 100 + TEST_TYPE: "scratch" before_script: - chmod +x ./CI/update_badge.sh - ./CI/update_badge.sh > /dev/null @@ -67,6 +68,7 @@ coverage (from scratch): variables: FAILURE_THRESHOLD: 50 COVERAGE_PASS_THRESHOLD: 80 + TEST_TYPE: "scratch" before_script: - chmod +x ./CI/update_badge.sh - ./CI/update_badge.sh > /dev/null @@ -98,6 +100,7 @@ tests (on GPU): - lukas_issue095_tech_mlt-runner variables: FAILURE_THRESHOLD: 100 + TEST_TYPE: "gpu" before_script: - chmod +x ./CI/update_badge.sh - ./CI/update_badge.sh > /dev/null @@ -114,35 +117,6 @@ tests (on GPU): - badges/ - test_results/ -coverage (on GPU): - tags: - - gpu - - zam347 - stage: test - only: - - master - - /^release.*$/ - - develop - - lukas_issue095_tech_mlt-runner - variables: - FAILURE_THRESHOLD: 50 - COVERAGE_PASS_THRESHOLD: 80 - before_script: - - chmod +x ./CI/update_badge.sh - - ./CI/update_badge.sh > /dev/null - script: - - pip install -r requirements.txt - - chmod +x ./CI/run_pytest_coverage.sh - - ./CI/run_pytest_coverage.sh - after_script: - - ./CI/update_badge.sh > /dev/null - artifacts: - name: pages - when: always - paths: - - badges/ - - coverage/ - ### Tests ### tests: tags: diff --git a/CI/run_pytest.sh b/CI/run_pytest.sh index a7d883dcc95e0c16541af00ed0891e2d31dee82c..5da52d22d812c573b740329ac477b70e3562f5ab 100644 --- a/CI/run_pytest.sh +++ b/CI/run_pytest.sh @@ -1,24 +1,30 @@ #!/bin/bash # run pytest for all run_modules -python3 -m pytest --html=report.html --self-contained-html test/ | tee test_results.out +python3.6 -m pytest --html=report.html --self-contained-html test/ | tee test_results.out IS_FAILED=$? +if [ -z ${TEST_TYPE+x} ]; then + TEST_TYPE=""; else + TEST_TYPE="_"${TEST_TYPE}; +fi + # move html test report -mkdir test_results/ +TEST_RESULTS_DIR="test_results${TEST_TYPE}/" +mkdir ${TEST_RESULTS_DIR} BRANCH_NAME=$( echo -e "${CI_COMMIT_REF_NAME////_}") -mkdir test_results/${BRANCH_NAME} -mkdir test_results/recent -cp report.html test_results/${BRANCH_NAME}/. -cp report.html test_results/recent/. +mkdir "${TEST_RESULTS_DIR}/${BRANCH_NAME}" +mkdir "${TEST_RESULTS_DIR}/recent" +cp report.html "${TEST_RESULTS_DIR}/${BRANCH_NAME}/." +cp report.html "${TEST_RESULTS_DIR}/recent/." if [[ "${CI_COMMIT_REF_NAME}" = "master" ]]; then - cp -r report.html test_results/. + cp -r report.html ${TEST_RESULTS_DIR}/. fi # exit 0 if no tests implemented RUN_NO_TESTS="$(grep -c 'no tests ran' test_results.out)" -if [[ ${RUN_NO_TESTS} > 0 ]]; then +if [[ ${RUN_NO_TESTS} -gt 0 ]]; then echo "no test available" echo "incomplete" > status.txt echo "no tests avail" > incomplete.txt @@ -27,20 +33,22 @@ fi # extract if tests passed or not TEST_FAILED="$(grep -oP '(\d+\s{1}failed)' test_results.out)" -TEST_FAILED="$(echo ${TEST_FAILED} | (grep -oP '\d*'))" +TEST_FAILED="$(echo "${TEST_FAILED}" | (grep -oP '\d*'))" TEST_PASSED="$(grep -oP '\d+\s{1}passed' test_results.out)" -TEST_PASSED="$(echo ${TEST_PASSED} | (grep -oP '\d*'))" +TEST_PASSED="$(echo "${TEST_PASSED}" | (grep -oP '\d*'))" if [[ -z "$TEST_FAILED" ]]; then TEST_FAILED=0 fi -let "TEST_PASSED=${TEST_PASSED}-${TEST_FAILED}" - +#let "TEST_PASSED=${TEST_PASSED}-${TEST_FAILED}" +(( TEST_PASSED=TEST_PASSED-TEST_FAILED )) # calculate metrics -let "SUM=${TEST_FAILED}+${TEST_PASSED}" -let "TEST_PASSED_RATIO=${TEST_PASSED}*100/${SUM}" +(( SUM=TEST_FAILED+TEST_PASSED )) +(( TEST_PASSED_RATIO=TEST_PASSED*100/SUM )) +#let "SUM=${TEST_FAILED}+${TEST_PASSED}" +#let "TEST_PASSED_RATIO=${TEST_PASSED}*100/${SUM}" # report -if [[ ${IS_FAILED} == 0 ]]; then +if [[ ${IS_FAILED} -eq 0 ]]; then if [[ ${TEST_PASSED_RATIO} -lt 100 ]]; then echo "only ${TEST_PASSED_RATIO}% passed" echo "incomplete" > status.txt diff --git a/CI/run_pytest_coverage.sh b/CI/run_pytest_coverage.sh index 2157192d49a15baa048968b799aa264941152c1b..0161a9c1a59264bf35667a98f3a67e7c68623989 100644 --- a/CI/run_pytest_coverage.sh +++ b/CI/run_pytest_coverage.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash # run coverage twice, 1) for html deploy 2) for success evaluation -python3 -m pytest --cov=src --cov-report html test/ -python3 -m pytest --cov=src --cov-report term test/ | tee coverage_results.out +python3.6 -m pytest --cov=src --cov-report html test/ +python3.6 -m pytest --cov=src --cov-report term test/ | tee coverage_results.out IS_FAILED=$?