Skip to content
Snippets Groups Projects
Commit 5a91bc0e authored by lukas leufen's avatar lukas leufen
Browse files

refactored python3 -> 3.6, add test_type variable to pytest to differ between...

refactored python3 -> 3.6, add test_type variable to pytest to differ between different test types (on gpu, from scratch, ...)
parent 37f97bb0
No related branches found
No related tags found
3 merge requests!90WIP: new release update,!89Resolve "release branch / CI on gpu",!85Resolve "new gitlab runner specialised for mlt"
Pipeline #33764 failed
......@@ -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:
......
#!/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
......
#!/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=$?
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment