| 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)
 |