[tool:pytest] # Note: The first file of settings found is used, there is no combining, so # this file is only used for tests that don't find a pytest.ini file first. # Details at https://docs.pytest.org/en/latest/reference/customize.html DJANGO_SETTINGS_MODULE = lms.envs.test addopts = --nomigrations --reuse-db --durations=20 --json-report --json-report-omit keywords streams collectors log traceback tests --json-report-file=none # Enable default handling for all warnings, including those that are ignored by default; # but hide rate-limit warnings (because we deliberately don't throttle test user logins) # and field_data deprecation warnings (because fixing them requires a major low-priority refactoring) filterwarnings = default ignore:No request passed to the backend, unable to rate-limit:UserWarning ignore::xblock.exceptions.FieldDataDeprecationWarning ignore::django.utils.deprecation.RemovedInDjango40Warning ignore::django.utils.deprecation.RemovedInDjango41Warning junit_family = xunit2 norecursedirs = .* *.egg build conf dist node_modules test_root cms/envs lms/envs python_classes = python_files = tests.py test_*.py tests_*.py *_tests.py __init__.py [pycodestyle] # error codes: https://pycodestyle.readthedocs.io/en/latest/intro.html#error-codes # E501: line too long # E265: block comment should start with '# ' # We ignore this because pep8 used to erroneously lump E266 into it also. # We should probably fix these now. # E266: too many leading '#' for block comment # We have lots of comments that look like "##### HEADING #####" which violate # this rule, because they don't have a space after the first #. However, # they're still perfectly reasonable comments, so we disable this rule. # W602: deprecated form of raising exception # We do this in a few places to modify the exception message while preserving # the traceback. See this blog post for more info: # http://nedbatchelder.com/blog/200711/rethrowing_exceptions_in_python.html # It's a little unusual, but we have good reasons for doing so, so we disable # this rule. # E305,E402,E722,E731,E741,E743,W503,W504: errors and warnings added since pep8/pycodestyle # 1.5.7 that we haven't cleaned up yet ignore=E265,E266,E305,E402,E501,E722,E731,E741,E743,W503,W504,W602 exclude=migrations,.git,.pycharm_helpers,.tox,test_root/staticfiles,node_modules [isort] indent=' ' line_length=120 multi_line_output=3 skip= envs migrations [importlinter] root_packages = lms cms include_external_packages = True [importlinter:contract:1] name = lms and cms are independent type = independence modules = lms cms ignore_imports = # lms side imports that we are ignoring for now lms.djangoapps.course_home_api.outline.tests.test_view -> cms.djangoapps.contentstore.outlines lms.djangoapps.courseware.plugins -> cms.djangoapps.contentstore.utils lms.djangoapps.course_home_api.tests.utils -> cms.djangoapps.contentstore.outlines # cms side imports that we are ignoring for now cms.djangoapps.contentstore.views.tests.test_item -> lms.djangoapps.lms_xblock.mixin cms.envs.common -> lms.envs.common cms.djangoapps.contentstore.signals.handlers -> lms.djangoapps.grades.api cms.djangoapps.contentstore.course_group_config -> lms.lib.utils cms.djangoapps.contentstore.views.preview -> lms.djangoapps.lms_xblock.field_data cms.envs.common -> lms.djangoapps.lms_xblock.mixin cms.envs.test -> lms.envs.test