Fixed #18984 -- Avoided a deadlock in test teardown.
Thanks Jeremy Dunck for the report.
This commit is contained in:
parent
a026e480da
commit
891c530624
|
@ -505,6 +505,12 @@ class TransactionTestCase(SimpleTestCase):
|
||||||
# If the test case has a multi_db=True flag, flush all databases.
|
# If the test case has a multi_db=True flag, flush all databases.
|
||||||
# Otherwise, just flush default.
|
# Otherwise, just flush default.
|
||||||
databases = connections if getattr(self, 'multi_db', False) else [DEFAULT_DB_ALIAS]
|
databases = connections if getattr(self, 'multi_db', False) else [DEFAULT_DB_ALIAS]
|
||||||
|
|
||||||
|
# Roll back any pending transactions in order to avoid a deadlock
|
||||||
|
# during flush when TEST_MIRROR is used (#18984).
|
||||||
|
for conn in connections.all():
|
||||||
|
conn.rollback_unless_managed()
|
||||||
|
|
||||||
for db in databases:
|
for db in databases:
|
||||||
call_command('flush', verbosity=0, interactive=False, database=db,
|
call_command('flush', verbosity=0, interactive=False, database=db,
|
||||||
skip_validation=True, reset_sequences=False)
|
skip_validation=True, reset_sequences=False)
|
||||||
|
|
Loading…
Reference in New Issue