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
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
728 from django .test .runner import ( # noqa: F401
829 setup_databases ,
@@ -13,3 +34,9 @@ def teardown_databases(db_cfg, verbosity):
1334 _DiscoverRunner (verbosity = verbosity , interactive = False ).teardown_databases (
1435 db_cfg
1536 )
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