-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #26 from jmbowman/jmbowman/PLAT-1998
PLAT-1998 Update test runner and dependency management
- Loading branch information
Showing
23 changed files
with
490 additions
and
57 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,22 @@ | ||
var/ | ||
xblock_google_drive.egg-info | ||
*.log | ||
*.pyc | ||
*~ | ||
|
||
# Unit test / coverage reports | ||
.cache/ | ||
.pytest_cache/ | ||
.coverage | ||
.coverage.* | ||
.tox | ||
coverage.xml | ||
htmlcov/ | ||
|
||
# IDEs and text editors | ||
*~ | ||
*.swp | ||
.idea/ | ||
.project | ||
.pycharm_helpers/ | ||
.pydevproject |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,31 @@ | ||
language: python | ||
sudo: false | ||
|
||
python: | ||
- "2.7" | ||
|
||
env: | ||
- TOXENV=django18 | ||
- TOXENV=django110 | ||
- TOXENV=django111 | ||
- TOXENV=quality | ||
|
||
before_install: | ||
- "export DISPLAY=:99.0" | ||
- "sh -e /etc/init.d/xvfb start" | ||
- export DISPLAY=:99.0 | ||
- sh -e /etc/init.d/xvfb start | ||
- sleep 3 # give xvfb some time to start | ||
- wget https://github.com/mozilla/geckodriver/releases/download/v0.19.1/geckodriver-v0.19.1-linux64.tar.gz | ||
- mkdir geckodriver | ||
- tar -xzf geckodriver-v0.19.1-linux64.tar.gz -C geckodriver | ||
- export PATH=$PATH:$PWD/geckodriver | ||
|
||
addons: | ||
firefox: '58.0.2' | ||
|
||
install: | ||
- "pip install -r requirements.txt" | ||
- "pip uninstall -y xblock-google-drive && python setup.py sdist && pip install dist/xblock-google-drive-0.1.tar.gz" | ||
- pip install -r requirements/travis.txt | ||
|
||
script: | ||
- DJANGO_SETTINGS_MODULE="settings" nosetests --with-coverage --cover-package="google_drive" --with-django | ||
- pep8 --config=.pep8 google_drive | ||
- pylint --rcfile=.pylintrc google_drive --report=no | ||
- tox | ||
|
||
after_success: coveralls |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
.PHONY: clean coverage docs help quality requirements selfcheck test test-all upgrade validate | ||
|
||
.DEFAULT_GOAL := help | ||
|
||
define BROWSER_PYSCRIPT | ||
import os, webbrowser, sys | ||
try: | ||
from urllib import pathname2url | ||
except: | ||
from urllib.request import pathname2url | ||
|
||
webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1]))) | ||
endef | ||
export BROWSER_PYSCRIPT | ||
BROWSER := python -c "$$BROWSER_PYSCRIPT" | ||
|
||
help: ## display this help message | ||
@echo "Please use \`make <target>' where <target> is one of" | ||
@perl -nle'print $& if m{^[a-zA-Z_-]+:.*?## .*$$}' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m %-25s\033[0m %s\n", $$1, $$2}' | ||
|
||
clean: ## remove generated byte code, coverage reports, and build artifacts | ||
find . -name '__pycache__' -exec rm -rf {} + | ||
find . -name '*.pyc' -exec rm -f {} + | ||
find . -name '*.pyo' -exec rm -f {} + | ||
find . -name '*~' -exec rm -f {} + | ||
coverage erase | ||
rm -fr build/ | ||
rm -fr dist/ | ||
rm -fr *.egg-info | ||
|
||
coverage: clean ## generate and view HTML coverage report | ||
pytest --cov-report html | ||
$(BROWSER) htmlcov/index.html | ||
|
||
upgrade: ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in | ||
pip install -q pip-tools | ||
pip-compile --upgrade -o requirements/dev.txt requirements/base.in requirements/dev.in requirements/quality.in requirements/test.in requirements/travis.in | ||
pip-compile --upgrade -o requirements/quality.txt requirements/base.in requirements/quality.in requirements/test.in | ||
pip-compile --upgrade -o requirements/test.txt requirements/base.in requirements/test.in | ||
pip-compile --upgrade -o requirements/travis.txt requirements/travis.in | ||
# Let tox control the Django version for tests | ||
sed '/^django==/d' requirements/test.txt > requirements/test.tmp | ||
mv requirements/test.tmp requirements/test.txt | ||
|
||
quality: ## check coding style with pycodestyle and pylint | ||
tox -e quality | ||
|
||
requirements: ## install development environment requirements | ||
pip install -qr requirements/dev.txt --exists-action w | ||
pip-sync requirements/dev.txt requirements/private.* | ||
|
||
test: clean ## run tests in the current virtualenv | ||
mkdir -p var | ||
pip install -e . | ||
pytest | ||
|
||
diff_cover: test ## find diff lines that need test coverage | ||
diff-cover coverage.xml | ||
|
||
test-all: ## run tests on every supported Python/Django combination | ||
tox -e quality | ||
tox | ||
|
||
validate: quality test ## run tests and quality checks | ||
|
||
selfcheck: ## check that the Makefile is well-formed | ||
@echo "The Makefile is well-formed." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# Core requirements for using this application | ||
|
||
Django>=1.8,<2 # Web application framework | ||
mako # Used by xblock-utils.resources, but not declared as a requirement for it | ||
XBlock[django] # Courseware component architecture | ||
-e git+https://github.com/edx/xblock-utils.git@v1.0.5#egg=xblock-utils==1.0.5 # Utility functions shared by many XBlocks |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Additional requirements for development of this application | ||
|
||
diff-cover # Changeset diff test coverage | ||
pip-tools # Requirements file management |
Oops, something went wrong.