Skip to content

Commit 210ee60

Browse files
authored
Merge pull request #857 from untitaker/fix-django-32
Fix support for Django 3.2
2 parents e613a88 + 85ee345 commit 210ee60

File tree

1 file changed

+33
-9
lines changed

1 file changed

+33
-9
lines changed

pytest_django/compat.py

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,39 @@
11
# This file cannot be imported from until Django sets up
2-
try:
3-
# Django 1.11
4-
from django.test.utils import setup_databases, teardown_databases # noqa: F401
5-
except ImportError:
2+
3+
4+
def _get_setup_and_teardown_databases():
5+
try:
6+
# Django 3.2+ has added timing capabilities that we don't really support
7+
# right now. Unfortunately that new time_keeper is required.
8+
from django.test.utils import NullTimeKeeper
9+
except ImportError:
10+
pass
11+
else:
12+
from django.test.utils import setup_databases, teardown_databases
13+
14+
def wrapped_setup_databases(*args, **kwargs):
15+
return setup_databases(*args, time_keeper=NullTimeKeeper(), **kwargs)
16+
17+
return wrapped_setup_databases, teardown_databases
18+
19+
try:
20+
# Django 1.11+
21+
from django.test.utils import setup_databases, teardown_databases # noqa: F401, F811
22+
except ImportError:
23+
pass
24+
else:
25+
return setup_databases, teardown_databases
26+
627
# In Django prior to 1.11, teardown_databases is only available as a method on DiscoverRunner
7-
from django.test.runner import ( # noqa: F401
8-
setup_databases,
9-
DiscoverRunner as _DiscoverRunner,
10-
)
28+
from django.test.runner import setup_databases, DiscoverRunner # noqa: F401, F811
1129

1230
def teardown_databases(db_cfg, verbosity):
13-
_DiscoverRunner(verbosity=verbosity, interactive=False).teardown_databases(
31+
DiscoverRunner(verbosity=verbosity, interactive=False).teardown_databases(
1432
db_cfg
1533
)
34+
35+
return setup_databases, teardown_databases
36+
37+
38+
setup_databases, teardown_databases = _get_setup_and_teardown_databases()
39+
del _get_setup_and_teardown_databases

0 commit comments

Comments
 (0)