Commit 1fa8c612 authored by Florian Apolloner's avatar Florian Apolloner
Browse files

[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 4fcc1e4a from master.
parent 18fe77e4
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -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)