diff options
Diffstat (limited to 'utils')
-rw-r--r-- | utils/.coveragerc | 4 | ||||
-rw-r--r-- | utils/Makefile | 23 | ||||
-rw-r--r-- | utils/setup.cfg | 10 |
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 |