Lint Test is a simple Django app to perform flake8 linting on your project. You'll set a settings.LINT_TEST_SINCE_COMMIT from some commit in your git history.
It will then check files changed since that commit origin and ensure they lint properly. If any file doesn't lint properly your unit test run will fail.
-
pip install linttest -
Add "linttest" to your INSTALLED_APPS setting like this::
INSTALLED_APPS = [ ... 'linttest', ] -
Specify the commit origin in your settings (sh> git log)::
LINT_TEST_SINCE_COMMIT = '<commit hash>' -
Run the management command::
python manage.py linttest or python manage.py test linttest -
Fix any files that fail the linting!
-
Verify installation with the "Quick Start" guide
-
Add a test that extends the
LintTestCaseto another test file in your projectfrom linttest.tests import LintTestCase class MyLintTests(LintTestCase): pass -
Run the test command::
python manage.py test
This is required for django 1.6 and up because the DiscoveryRunner defaults to just running tests in your project.
-
Git clone...
-
Package it
python setup.py sdist # rerun this and the next step on change -
From your desired install project - note the relative path - update for your project location
pip install ../linttest/dist/linttest-0.1.tar.gzor
pip install ../linttest/dist/linttest-0.1.tar.gz --upgrade # rerun on change -
You can follow the quickstart from there