| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- import os
- import shutil
- import warnings
-
- import django
-
-
- def pytest_addoption(parser):
- parser.addoption('--sqlite', action='store_true')
- parser.addoption(
- '--deprecation', choices=['strict', 'log', 'none'], default='log')
-
-
- def pytest_configure(config):
- os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'tests.settings')
-
- deprecation = config.getoption('deprecation')
- if deprecation == 'strict':
- warnings.simplefilter('error', DeprecationWarning)
- warnings.simplefilter('error', PendingDeprecationWarning)
- warnings.simplefilter('error', RuntimeWarning)
- if deprecation == 'log':
- warnings.simplefilter('always', DeprecationWarning)
- warnings.simplefilter('always', PendingDeprecationWarning)
- warnings.simplefilter('always', RuntimeWarning)
- elif deprecation == 'none':
- # Deprecation warnings are ignored by default
- pass
-
- if config.getoption('sqlite'):
- os.environ['DATABASE_ENGINE'] = 'django.db.backends.sqlite3'
- os.environ['DATABASE_NAME'] = ':memory:'
-
- django.setup()
-
-
- def pytest_unconfigure(config):
- # remove tests/public/media folder
- from django.conf import settings
- shutil.rmtree(settings.MEDIA_ROOT, ignore_errors=True)
|