Created
April 12, 2018 20:53
-
-
Save cristihainic/3e3717518b00b7cdd66ba243e7438b37 to your computer and use it in GitHub Desktop.
Unit test that checks for PEP8 faults in a Django project using pytest
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
import os | |
import sys | |
import pycodestyle | |
from django.conf import settings | |
class PEP8Error(BaseException): | |
pass | |
def error_print(*args, **kwargs): | |
print(*args, file=sys.stderr, **kwargs) | |
def test_pep8(): | |
style = pycodestyle.StyleGuide(config_file=os.path.join(settings.BASE_DIR, 'tox.ini')) | |
py_files = [] | |
for root, dirs, files in os.walk(settings.BASE_DIR): | |
for file in files: | |
if file.endswith(".py"): | |
py_files.append(os.path.join(root, file)) | |
pep8_check = style.check_files(py_files) | |
if pep8_check.total_errors > 0: | |
for err in pep8_check.messages: | |
error_print(err) | |
raise PEP8Error('PEP8 misconducts have been found; check stderr.') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment