summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/.coveragerc4
-rw-r--r--utils/Makefile23
-rw-r--r--utils/setup.cfg10
3 files changed, 26 insertions, 11 deletions
diff --git a/utils/.coveragerc b/utils/.coveragerc
new file mode 100644
index 000000000..0c870af42
--- /dev/null
+++ b/utils/.coveragerc
@@ -0,0 +1,4 @@
+[run]
+omit=
+ */lib/python*/site-packages/*
+ /usr/*
diff --git a/utils/Makefile b/utils/Makefile
index ee6b885e6..49c61e115 100644
--- a/utils/Makefile
+++ b/utils/Makefile
@@ -59,13 +59,18 @@ docs: $(MANPAGES)
viewcover:
xdg-open cover/index.html
-virtualenv:
+# Conditional virtualenv building strategy taken from this great post
+# by Marcel Hellkamp:
+# http://blog.bottlepy.org/2012/07/16/virtualenv-and-makefiles.html
+venv: oo-installenv/bin/activate
+oo-installenv/bin/activate: test-requirements.txt
@echo "#############################################"
@echo "# Creating a virtualenv"
@echo "#############################################"
- virtualenv $(NAME)env
+ test -d venv || virtualenv $(NAME)env
. $(NAME)env/bin/activate && pip install setuptools==17.1.1
. $(NAME)env/bin/activate && pip install -r test-requirements.txt
+ touch $(NAME)env/bin/activate
# If there are any special things to install do it here
# . $(NAME)env/bin/activate && INSTALL STUFF
@@ -73,14 +78,14 @@ ci-unittests:
@echo "#############################################"
@echo "# Running Unit Tests in virtualenv"
@echo "#############################################"
- . $(NAME)env/bin/activate && python setup.py nosetests
+ . $(NAME)env/bin/activate && python setup.py nosetests --cover-erase
@echo "VIEW CODE COVERAGE REPORT WITH 'xdg-open cover/index.html' or run 'make viewcover'"
ci-pylint:
@echo "#############################################"
@echo "# Running PyLint Tests in virtualenv"
@echo "#############################################"
- . $(NAME)env/bin/activate && python -m pylint --rcfile ../git/.pylintrc $(shell find ../ -name $(NAME)env -prune -o -name test -prune -o -name "*.py" -print)
+ . $(NAME)env/bin/activate && python -m pylint --rcfile ../git/.pylintrc $(shell find ../ -name $(NAME)env -prune -o -name test -prune -o -name "*.py" -print) 2>&1 | grep -E -v '(locally-disabled|file-ignored)'
ci-list-deps:
@echo "#############################################"
@@ -93,7 +98,11 @@ ci-flake8:
@echo "# Running Flake8 Compliance Tests in virtualenv"
@echo "#############################################"
. $(NAME)env/bin/activate && flake8 --config=setup.cfg ../ --exclude="utils,../inventory"
- . $(NAME)env/bin/activate && python setup.py flake8
+ . $(NAME)env/bin/activate && python setup.py flake8
-ci: clean virtualenv ci-list-deps ci-flake8 ci-pylint ci-unittests
- :
+ci: venv ci-list-deps ci-unittests ci-flake8 ci-pylint
+ @echo
+ @echo "##################################################################################"
+ @echo "VIEW CODE COVERAGE REPORT WITH 'xdg-open cover/index.html' or run 'make viewcover'"
+ @echo "To clean your test environment run 'make clean'"
+ @echo "Other targets you may run with 'make': 'ci-pylint', 'ci-unittests', 'ci-flake8'"
diff --git a/utils/setup.cfg b/utils/setup.cfg
index f5f0d8aad..18b4e3057 100644
--- a/utils/setup.cfg
+++ b/utils/setup.cfg
@@ -7,10 +7,12 @@ universal=1
[nosetests]
tests=../,../roles/openshift_master_facts/test/,test/
verbosity=2
-with_coverage=1
-cover_html=1
-cover_package=ooinstall
-cover_min_percentage=70
+with-coverage=1
+cover-html=1
+cover-inclusive=1
+cover-min-percentage=70
+detailed-errors=1
+cover-branches=1
[flake8]
max-line-length=120