summaryrefslogtreecommitdiffstats
path: root/ci/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ci/build.sh')
-rwxr-xr-xci/build.sh21
1 files changed, 21 insertions, 0 deletions
diff --git a/ci/build.sh b/ci/build.sh
index dd9f9fd1..12e0f9d1 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -34,6 +34,7 @@ BUILD_BASE=$(readlink -e ../build/)
CACHE_DEST=""
CACHE_DIR="cache"
CACHE_NAME="apex-cache"
+PYTHON_TESTS="TRUE"
MAKE_TARGETS="images"
REQUIRED_PKGS="rpm-build python-docutils"
@@ -63,6 +64,11 @@ parse_cmdline() {
echo "Buiding opnfv-apex RPMs"
shift 1
;;
+ --skip-python-tests )
+ PYTHON_TESTS="FALSE"
+ echo "Skipping Python Tests"
+ shift 1
+ ;;
--debug )
debug="TRUE"
echo "Enable debug output"
@@ -145,6 +151,21 @@ if ! rpm -q python34-devel > /dev/null; then
fi
fi
+if [ "$PYTHON_TESTS" == "TRUE" ]; then
+ # Make sure coverage is installed
+ if ! python3 -c "import coverage" &> /dev/null; then sudo easy_install-3.4 coverage; fi
+
+ run_make python-tests
+ pushd ../tests/ > /dev/null
+ percent=$(coverage3 report --include '*lib/python/*' -m | grep TOTAL | tr -s ' ' | awk '{ print $4 }' | cut -d % -f 1)
+ if [[ percent -lt 80 ]]; then
+ echo "Python Coverage: $percent"
+ echo "Does not meet 80% requirement"
+ exit 1
+ fi
+ popd
+fi
+
# Execute make against targets
for t in $MAKE_TARGETS; do
run_make $t