diff --git a/.gitignore b/.gitignore index a39358bf..f735215d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,13 @@ +.coverage MANIFEST coverage.xml nosetests.xml +junit-report.xml pylint.txt toy.py -junit-report.xml -requests.egg-info/ +violations.pyflakes.txt +cover/ docs/_build +requests.egg-info/ *.pyc *.swp diff --git a/.travis.yml b/.travis.yml index 10521989..21986247 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ python: - 2.7 - 3.2 env: HTTPBIN_URL=http://httpbin.org/ -script: make ci +script: make travis install: - pip install nose - pip install . --use-mirrors diff --git a/Makefile b/Makefile index db387710..c3346ae5 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,13 @@ SHELL := /bin/bash +# these files should pass pyflakes +PYFLAKES_WHITELIST=$(shell find . -name "*.py" ! -path "./docs/*" ! -path "./tests/*" ! -path "./requests/packages/*" \ + ! -path "./requests/__init__.py" ! -path "./requests/compat.py") + +# test_requests_ext.py depends on external services, and async doesn't work under Python 3 +# Travis/Jenkins should be ensuring that all other tests pass on all supported versions +CI_TESTS=$(shell find tests/ -name "*.py" ! -name "test_requests_ext.py" ! -name "test_requests_async.py") + init: python setup.py develop pip install -r requirements.txt @@ -13,20 +21,30 @@ lazy: simple: nosetests tests/test_requests.py -ci: - find tests/ -name "*.py" ! -name "test_requests_ext.py" ! -name "test_requests_async.py" | xargs nosetests --with-xunit --xunit-file=junit-report.xml +pyflakes: + pyflakes ${PYFLAKES_WHITELIST} + +citests: + nosetests ${CI_TESTS} --with-xunit --xunit-file=junit-report.xml + +ci: citests pyflakes + +travis: citests server: gunicorn httpbin:app --bind=0.0.0.0:7077 & -stats: - pyflakes requests | awk -F\: '{printf "%s:%s: [E]%s\n", $1, $2, $3}' > violations.pyflakes.txt +# compute statistics of various kinds +lemonade: + -pyflakes requests > violations.pyflakes.txt + # HTML output will be available in the default location, ./cover/ + nosetests --with-coverage --cover-html --cover-package=requests ${CI_TESTS} ./tests/test_requests_async.py site: cd docs; make dirhtml -pyc: - find . -name "*.pyc" -exec rm '{}' ';' +clean: + git clean -Xfd deps: rm -fr requests/packages/urllib3