1
1
# 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
22
+ except ImportError :
23
+ pass
24
+ else :
25
+ return setup_databases , teardown_databases
26
+
6
27
# In Django prior to 1.11, teardown_databases is only available as a method on DiscoverRunner
7
28
from django .test .runner import ( # noqa: F401
8
29
setup_databases ,
@@ -13,3 +34,9 @@ def teardown_databases(db_cfg, verbosity):
13
34
_DiscoverRunner (verbosity = verbosity , interactive = False ).teardown_databases (
14
35
db_cfg
15
36
)
37
+
38
+ return setup_databases , teardown_databases
39
+
40
+
41
+ setup_databases , teardown_databases = _get_setup_and_teardown_databases ()
42
+ del _get_setup_and_teardown_databases
0 commit comments