mirror of
https://github.com/django/django.git
synced 2025-03-13 02:40:47 +00:00
[1.6.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 4fcc1e4ad8d153f41132b171c231b6d5d4086c28 from master.
This commit is contained in:
parent
56201fe5a8
commit
eb32de2614
@ -5,7 +5,7 @@ from django.db import (connection, connections, transaction, DEFAULT_DB_ALIAS, D
|
|||||||
from django.db.transaction import commit_on_success, commit_manually, TransactionManagementError
|
from django.db.transaction import commit_on_success, commit_manually, TransactionManagementError
|
||||||
from django.test import TransactionTestCase, skipUnlessDBFeature
|
from django.test import TransactionTestCase, skipUnlessDBFeature
|
||||||
from django.test.utils import override_settings, IgnorePendingDeprecationWarningsMixin
|
from django.test.utils import override_settings, IgnorePendingDeprecationWarningsMixin
|
||||||
from django.utils.unittest import skipIf, skipUnless
|
from django.utils.unittest import skipIf, skipUnless, SkipTest
|
||||||
|
|
||||||
from .models import Mod, M2mA, M2mB, SubMod
|
from .models import Mod, M2mA, M2mB, SubMod
|
||||||
|
|
||||||
@ -366,11 +366,13 @@ class SavepointTest(IgnorePendingDeprecationWarningsMixin, TransactionTestCase):
|
|||||||
|
|
||||||
@skipIf(connection.vendor == 'sqlite',
|
@skipIf(connection.vendor == 'sqlite',
|
||||||
"SQLite doesn't support savepoints in managed mode")
|
"SQLite doesn't support savepoints in managed mode")
|
||||||
@skipIf(connection.vendor == 'mysql' and
|
|
||||||
connection.features._mysql_storage_engine == 'MyISAM',
|
|
||||||
"MyISAM MySQL storage engine doesn't support savepoints")
|
|
||||||
@skipUnlessDBFeature('uses_savepoints')
|
@skipUnlessDBFeature('uses_savepoints')
|
||||||
def test_savepoint_rollback(self):
|
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
|
@commit_manually
|
||||||
def work():
|
def work():
|
||||||
mod = Mod.objects.create(fld=1)
|
mod = Mod.objects.create(fld=1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user