[1.5.x] Stopped a test from executing queries at the module level.
Currently module level queries are executed against the real database
(specified in NAME) instead of the test database; since it is to late
to fix this for 1.6, we at least ensures stable builds. Refs #21443.
Backport of 4fcc1e4ad8
from master.
This commit is contained in:
parent
18fe77e4ed
commit
1fa8c612fc
|
@ -4,7 +4,7 @@ from django.db import connection, connections, transaction, DEFAULT_DB_ALIAS, Da
|
|||
from django.db.transaction import commit_on_success, commit_manually, TransactionManagementError
|
||||
from django.test import TransactionTestCase, skipUnlessDBFeature
|
||||
from django.test.utils import override_settings
|
||||
from django.utils.unittest import skipIf, skipUnless
|
||||
from django.utils.unittest import skipIf, skipUnless, SkipTest
|
||||
|
||||
from .models import Mod, M2mA, M2mB
|
||||
|
||||
|
@ -247,11 +247,13 @@ class SavepointTest(TransactionTestCase):
|
|||
|
||||
work()
|
||||
|
||||
@skipIf(connection.vendor == 'mysql' and \
|
||||
connection.features._mysql_storage_engine == 'MyISAM',
|
||||
"MyISAM MySQL storage engine doesn't support savepoints")
|
||||
@skipUnlessDBFeature('uses_savepoints')
|
||||
def test_savepoint_rollback(self):
|
||||
# _mysql_storage_engine issues a query and as such can't be applied in
|
||||
# a skipIf decorator since that would execute the query on module load.
|
||||
if (connection.vendor == 'mysql' and
|
||||
connection.features._mysql_storage_engine == 'MyISAM'):
|
||||
raise SkipTest("MyISAM MySQL storage engine doesn't support savepoints")
|
||||
@commit_manually
|
||||
def work():
|
||||
mod = Mod.objects.create(fld=1)
|
||||
|
|
Loading…
Reference in New Issue