From fda3b434b73d5df3c9453dbd772b182b09a0f7e5 Mon Sep 17 00:00:00 2001 From: Jason DeTiberus Date: Mon, 6 Mar 2017 12:39:20 -0500 Subject: Consolidate root/utils tests - Consolidate tests between the root of the repo and utils --- utils/.coveragerc | 18 ------------------ utils/.pylintrc | 1 - utils/setup.cfg | 27 --------------------------- utils/setup.py | 11 ----------- utils/test-requirements.txt | 15 --------------- utils/tox.ini | 19 ------------------- 6 files changed, 91 deletions(-) delete mode 100644 utils/.coveragerc delete mode 120000 utils/.pylintrc delete mode 100644 utils/test-requirements.txt delete mode 100644 utils/tox.ini (limited to 'utils') diff --git a/utils/.coveragerc b/utils/.coveragerc deleted file mode 100644 index 551e13192..000000000 --- a/utils/.coveragerc +++ /dev/null @@ -1,18 +0,0 @@ -[run] -branch = True -omit = - */lib/python*/site-packages/* - */lib/python*/* - /usr/* - setup.py - # TODO(rhcarvalho): this is used to ignore test files from coverage report. - # We can make this less generic when we stick with a single test pattern in - # the repo. - test_*.py - *_tests.py - -[report] -fail_under = 73 - -[html] -directory = cover diff --git a/utils/.pylintrc b/utils/.pylintrc deleted file mode 120000 index 30b33b524..000000000 --- a/utils/.pylintrc +++ /dev/null @@ -1 +0,0 @@ -../.pylintrc \ No newline at end of file diff --git a/utils/setup.cfg b/utils/setup.cfg index d730cd3b4..79bc67848 100644 --- a/utils/setup.cfg +++ b/utils/setup.cfg @@ -3,30 +3,3 @@ # 3. If at all possible, it is good practice to do this. If you cannot, you # will need to generate wheels for each Python version that you support. universal=1 - -[aliases] -test=pytest - -[flake8] -max-line-length=120 -exclude=test/*,setup.py,oo-installenv -ignore=E501 - -[lint] -lint_disable=fixme,locally-disabled,file-ignored,duplicate-code - -[tool:pytest] -testpaths = test -norecursedirs = - .* - __pycache__ -python_files = - # TODO(rhcarvalho): rename test files to follow a single pattern. "test*.py" - # is Python unittest's default, while pytest discovers both "test_*.py" and - # "*_test.py" by default. - test_*.py - *_tests.py -addopts = - --cov=. - --cov-report=term - --cov-report=html diff --git a/utils/setup.py b/utils/setup.py index 629d39206..6fec7b173 100644 --- a/utils/setup.py +++ b/utils/setup.py @@ -38,26 +38,15 @@ setup( # You can just specify the packages manually here if your project is # simple. Or you can use find_packages(). - #packages=find_packages(exclude=['contrib', 'docs', 'tests*']), packages=['ooinstall'], package_dir={'': 'src'}, - # List run-time dependencies here. These will be installed by pip when # your project is installed. For an analysis of "install_requires" vs pip's # requirements files see: # https://packaging.python.org/en/latest/requirements.html install_requires=['click', 'PyYAML', 'ansible'], - # List additional groups of dependencies here (e.g. development - # dependencies). You can install these using the following syntax, - # for example: - # $ pip install -e .[dev,test] - #extras_require={ - # 'dev': ['check-manifest'], - # 'test': ['coverage'], - #}, - # If there are data files included in your packages that need to be # installed, specify them here. If using Python 2.6 or less, then these # have to be included in MANIFEST.in as well. diff --git a/utils/test-requirements.txt b/utils/test-requirements.txt deleted file mode 100644 index b26e22a7e..000000000 --- a/utils/test-requirements.txt +++ /dev/null @@ -1,15 +0,0 @@ -ansible -# flake8 moved to before setuptools-lint to satisfy mccabe dependency issue -flake8 -setuptools-lint -coverage -mock -PyYAML -click -backports.functools_lru_cache -pyOpenSSL -yamllint -tox -detox -pytest -pytest-cov diff --git a/utils/tox.ini b/utils/tox.ini deleted file mode 100644 index 2524923cb..000000000 --- a/utils/tox.ini +++ /dev/null @@ -1,19 +0,0 @@ -[tox] -minversion=2.3.1 -envlist = - py{27,35}-{flake8,unit,pylint} -skipsdist=True -skip_missing_interpreters=True - -[testenv] -usedevelop=True -deps = - -rtest-requirements.txt - py35-flake8: flake8-bugbear -commands = - # Needed to make detox work, since it ignores usedevelop - # https://github.com/tox-dev/tox/issues/180 - unit: pip install -e . - unit: pytest {posargs} - flake8: python setup.py flake8 - pylint: python setup.py lint -- cgit v1.2.1 From 3151e4f8c4262e8f63da69158243d94a77949893 Mon Sep 17 00:00:00 2001 From: Jason DeTiberus Date: Mon, 6 Mar 2017 14:30:01 -0500 Subject: Update docs for test consolidation and remove the Makefile --- utils/Makefile | 105 -------------------------------------------------------- utils/README.md | 61 ++------------------------------ 2 files changed, 3 insertions(+), 163 deletions(-) delete mode 100644 utils/Makefile (limited to 'utils') diff --git a/utils/Makefile b/utils/Makefile deleted file mode 100644 index e53c0e628..000000000 --- a/utils/Makefile +++ /dev/null @@ -1,105 +0,0 @@ -######################################################## - -# Makefile for OpenShift: Atomic Quick Installer -# -# useful targets (not all implemented yet!): -# make clean -- Clean up garbage -# make ci ------------------- Execute CI steps (for travis or jenkins) - -######################################################## - -# > VARIABLE = value -# -# Normal setting of a variable - values within it are recursively -# expanded when the variable is USED, not when it's declared. -# -# > VARIABLE := value -# -# Setting of a variable with simple expansion of the values inside - -# values within it are expanded at DECLARATION time. - -######################################################## - - -NAME := oo-install -VENV := $(NAME)env -SHORTNAME := ooinstall - -# This doesn't evaluate until it's called. The -D argument is the -# directory of the target file ($@), kinda like `dirname`. -ASCII2MAN = a2x -D $(dir $@) -d manpage -f manpage $< -MANPAGES := docs/man/man1/atomic-openshift-installer.1 -# slipped into the manpage template before a2x processing -VERSION := 1.4 - -sdist: clean - python setup.py sdist - rm -fR $(SHORTNAME).egg-info - -clean: - @find . -type f -regex ".*\.py[co]$$" -delete - @find . -type f \( -name "*~" -or -name "#*" \) -delete - @rm -fR build dist rpm-build MANIFEST htmlcov .coverage cover ooinstall.egg-info oo-install - @rm -fR $(VENV) - @rm -fR .tox - -# To force a rebuild of the docs run 'touch' on any *.in file under -# docs/man/man1/ -docs: $(MANPAGES) - -# Regenerate %.1.asciidoc if %.1.asciidoc.in has been modified more -# recently than %.1.asciidoc. -%.1.asciidoc: %.1.asciidoc.in - sed "s/%VERSION%/$(VERSION)/" $< > $@ - -# Regenerate %.1 if %.1.asciidoc or VERSION has been modified more -# recently than %.1. (Implicitly runs the %.1.asciidoc recipe) -%.1: %.1.asciidoc - $(ASCII2MAN) - -viewcover: - xdg-open cover/index.html - -# Conditional virtualenv building strategy taken from this great post -# by Marcel Hellkamp: -# http://blog.bottlepy.org/2012/07/16/virtualenv-and-makefiles.html -$(VENV): $(VENV)/bin/activate -$(VENV)/bin/activate: test-requirements.txt - @echo "#############################################" - @echo "# Creating a virtualenv" - @echo "#############################################" - test -d $(VENV) || virtualenv $(VENV) - . $(VENV)/bin/activate && pip install setuptools==17.1.1 - . $(VENV)/bin/activate && pip install -r test-requirements.txt - touch $(VENV)/bin/activate -# If there are any special things to install do it here -# . $(VENV)/bin/activate && INSTALL STUFF - -ci-unittests: $(VENV) - @echo "#############################################" - @echo "# Running Unit Tests in virtualenv" - @echo "#############################################" - . $(VENV)/bin/activate && detox -e py27-unit,py35-unit - @echo "VIEW CODE COVERAGE REPORT WITH 'xdg-open cover/index.html' or run 'make viewcover'" - -ci-pylint: $(VENV) - @echo "#############################################" - @echo "# Running PyLint Tests in virtualenv" - @echo "#############################################" - . $(VENV)/bin/activate && detox -e py27-pylint,py35-pylint - -ci-flake8: $(VENV) - @echo "#############################################" - @echo "# Running Flake8 Compliance Tests in virtualenv" - @echo "#############################################" - . $(VENV)/bin/activate && detox -e py27-flake8,py35-flake8 - -ci-tox: $(VENV) - . $(VENV)/bin/activate && detox - -ci: ci-tox - @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-tox', 'ci-unittests', 'ci-flake8'" diff --git a/utils/README.md b/utils/README.md index 7aa045ae4..79ea3fa9f 100644 --- a/utils/README.md +++ b/utils/README.md @@ -1,69 +1,14 @@ # Running Tests -Run the command: - - make ci - -to run tests and linting tools. - -Underneath the covers, we use [tox](http://readthedocs.org/docs/tox/) to manage virtualenvs and run -tests. Alternatively, tests can be run using [detox](https://pypi.python.org/pypi/detox/) which allows -for running tests in parallel. - -``` -pip install tox detox -``` - -List the test environments available: - -``` -tox -l -``` - -Run all of the tests with: - -``` -tox -``` - -Run all of the tests in parallel with detox: - -``` -detox -``` - -Run a particular test environment: - -``` -tox -e py27-flake8 -``` - -Run a particular test environment in a clean virtualenv: - -``` -tox -r -e py35-pylint -``` - -If you want to enter the virtualenv created by tox to do additional -testing/debugging: - -``` -source .tox/py27-flake8/bin/activate -``` - -You will get errors if the log files already exist and can not be -written to by the current user (`/tmp/ansible.log` and -`/tmp/installer.txt`). *We're working on it.* - +All tests can be run by running `tox`. See [running tests](..//CONTRIBUTING.md#running-tests) for more information. # Running From Source You will need to setup a **virtualenv** to run from source: $ virtualenv oo-install - $ source ./oo-install/bin/activate - $ virtualenv --relocatable ./oo-install/ - $ python setup.py install + $ source oo-install/bin/activate + $ python setup.py develop The virtualenv `bin` directory should now be at the start of your `$PATH`, and `oo-install` is ready to use from your shell. -- cgit v1.2.1