|
@@ -1,6 +1,6 @@
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
|
-from unittest import skipIf, skipUnless
|
|
|
+from unittest import skipIf, skipUnless, SkipTest
|
|
|
|
|
|
from django.db import (connection, connections, transaction, DEFAULT_DB_ALIAS, DatabaseError,
|
|
|
IntegrityError)
|
|
@@ -367,11 +367,13 @@ class SavepointTest(IgnoreDeprecationWarningsMixin, TransactionTestCase):
|
|
|
|
|
|
@skipIf(connection.vendor == 'sqlite',
|
|
|
"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')
|
|
|
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)
|