diff options
author | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2016-04-06 23:51:15 +0200 |
---|---|---|
committer | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2016-04-06 23:55:37 +0200 |
commit | b401c3d2eac2aa9b73815034b44af75f65e6d7bc (patch) | |
tree | 15726798ab5f5200837e5c717020cba4b951d0d2 | |
parent | c22729d03d291814ae196ce7652954db9e42ed97 (diff) | |
download | factory-boy-b401c3d2eac2aa9b73815034b44af75f65e6d7bc.tar factory-boy-b401c3d2eac2aa9b73815034b44af75f65e6d7bc.tar.gz |
Refactor test setup/commands, enable tox.
Closes #273.
-rw-r--r-- | MANIFEST.in | 2 | ||||
-rw-r--r-- | Makefile | 42 | ||||
-rw-r--r-- | requirements_dev.txt (renamed from dev_requirements.txt) | 5 | ||||
-rw-r--r-- | requirements_test.txt | 2 | ||||
-rw-r--r-- | tox.ini | 35 |
5 files changed, 54 insertions, 32 deletions
diff --git a/MANIFEST.in b/MANIFEST.in index 3dfc1be..22f4a5c 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,6 @@ include README.rst +include requirements*.txt + include docs/Makefile recursive-include docs *.py *.rst include docs/_static/.keep_dir @@ -6,55 +6,37 @@ EXAMPLES_DIR=examples # Use current python binary instead of system default. COVERAGE = python $(shell which coverage) -# Dependencies -DJANGO ?= 1.9 -NEXT_DJANGO = $(shell python -c "v='$(DJANGO)'; parts=v.split('.'); parts[-1]=str(int(parts[-1])+1); print('.'.join(parts))") - -ALCHEMY ?= 1.0 -NEXT_ALCHEMY = $(shell python -c "v='$(ALCHEMY)'; parts=v.split('.'); parts[-1]=str(int(parts[-1])+1); print('.'.join(parts))") - -MONGOENGINE ?= 0.10 -NEXT_MONGOENGINE = $(shell python -c "v='$(MONGOENGINE)'; parts=v.split('.'); parts[-1]=str(int(parts[-1])+1); print('.'.join(parts))") - -REQ_FILE = auto_dev_requirements_django$(DJANGO)_alchemy$(ALCHEMY)_mongoengine$(MONGOENGINE).txt -EXAMPLES_REQ_FILES = $(shell find $(EXAMPLES_DIR) -name requirements.txt) - all: default default: -install-deps: $(REQ_FILE) - pip install --upgrade pip setuptools - pip install --upgrade -r $< - pip freeze - -$(REQ_FILE): dev_requirements.txt requirements.txt $(EXAMPLES_REQ_FILES) - grep --no-filename "^[^#-]" $^ | egrep -v "^(Django|SQLAlchemy|mongoengine)" > $@ - echo "Django>=$(DJANGO),<$(NEXT_DJANGO)" >> $@ - echo "SQLAlchemy>=$(ALCHEMY),<$(NEXT_ALCHEMY)" >> $@ - echo "mongoengine>=$(MONGOENGINE),<$(NEXT_MONGOENGINE)" >> $@ - - clean: find . -type f -name '*.pyc' -delete find . -type f -path '*/__pycache__/*' -delete find . -type d -empty -delete - @rm -f auto_dev_requirements_* @rm -rf tmp_test/ -test: install-deps example-test - python -W default setup.py test +install-deps: + pip install --upgrade pip setuptools + pip install --upgrade -r requirements_dev.txt + pip freeze + +testall: + tox + +test: + python -Wdefault -m unittest $(TESTS_DIR) example-test: $(MAKE) -C $(EXAMPLES_DIR) test -pylint: +lint: pylint --rcfile=.pylintrc --report=no $(PACKAGE)/ -coverage: install-deps +coverage: $(COVERAGE) erase $(COVERAGE) run "--include=$(PACKAGE)/*.py,$(TESTS_DIR)/*.py" --branch setup.py test $(COVERAGE) report "--include=$(PACKAGE)/*.py,$(TESTS_DIR)/*.py" diff --git a/dev_requirements.txt b/requirements_dev.txt index c78aa9d..a7706c6 100644 --- a/dev_requirements.txt +++ b/requirements_dev.txt @@ -1,4 +1,5 @@ --r requirements.txt +-e . +-r requirements_test.txt -r examples/requirements.txt coverage @@ -6,8 +7,8 @@ Django Pillow SQLAlchemy mongoengine -mock wheel +tox Sphinx sphinx_rtd_theme diff --git a/requirements_test.txt b/requirements_test.txt new file mode 100644 index 0000000..e37a8fe --- /dev/null +++ b/requirements_test.txt @@ -0,0 +1,2 @@ +mock +pylint @@ -0,0 +1,35 @@ +[tox] +envlist = + py{27,34}-django{17,18,19} + py{27,34}-alchemy10 + py{27,34}-mongoengine010 + examples + lint + +toxworkdir = {env:TOX_WORKDIR:.tox} + +[testenv] +deps = + -rrequirements_test.txt + django17: Django>=1.7,<1.8 + django18: Django>=1.8,<1.9 + django19: Django>=1.9,<1.10 + django{17,18,19}: Pillow + alchemy10: SQLAlchemy>=1.0,<1.1 + mongoengine010: mongoengine>=0.10,<0.11 + +whitelist_externals = make +commands = make test + +[testenv:examples] +basepython = python3.4 +deps = + -rrequirements_test.txt + -rexamples/requirements.txt + +whitelist_externals = make +commands = make example-test + +[testenv:lint] +whitelist_externals = make +commands = make lint |