Commits

Mike Bayer committed f1c4b67

- some mysql test tweaks ported from 0.7

  • Participants
  • Parent commits bcece3d
  • Branches rel_0_6

Comments (0)

Files changed (4)

     if against a column expression that combined
     multiple entities together.  [ticket:2197]
 
-   - [bug] fixed inappropriate evaluation of user-mapped
-     object in a boolean context within query.get()
-     [ticket:2310].
+  - [bug] fixed inappropriate evaluation of user-mapped
+    object in a boolean context within query.get()
+    [ticket:2310].
 
   - Fixed bug apparent only in Python 3 whereby
     sorting of persistent + pending objects during
   - Cls.column.collate("some collation") now
     works.  [ticket:1776]
 
-   - [bug] Fixed the error formatting raised when 
-     a tuple is inadvertently passed to session.query()
-     [ticket:2297].
+  - [bug] Fixed the error formatting raised when 
+    a tuple is inadvertently passed to session.query()
+    [ticket:2297].
 
 - engine
   - Backported the fix for [ticket:2317] introduced

File lib/sqlalchemy/test/requires.py

     except ImportError:
         return False
 
+def _has_mysql_on_windows():
+    return testing.against('mysql') and \
+            testing.db.dialect._server_casing == 1
+
 def sqlite(fn):
     return _chain_decorators_on(
         fn,
         skip_if(lambda: not _has_sqlite())
     )
 
+def skip_mysql_on_windows(fn):
+    """Catchall for a large variety of MySQL on Windows failures"""
+
+    return _chain_decorators_on(
+        fn,
+        skip_if(_has_mysql_on_windows,
+            "Not supported on MySQL + Windows"
+        )
+    )
+
 def english_locale_on_postgresql(fn):
     return _chain_decorators_on(
         fn,

File test/engine/test_transaction.py

             [(1, ), (2, )])
         connection.close()
 
+    # PG emergency shutdown:
+    # select * from pg_prepared_xacts
+    # ROLLBACK PREPARED '<xid>'
+    @testing.crashes('mysql', 'Crashing on 5.5, not worth it')
+    @testing.requires.skip_mysql_on_windows
     @testing.requires.two_phase_transactions
     @testing.requires.savepoints
     def test_mixed_two_phase_transaction(self):

File test/orm/test_naturalpks.py

 from test.orm import _base, _fixtures
 
 class NaturalPKTest(_base.MappedTest):
+    # MySQL 5.5 on Windows crashes (the entire server, not the client)
+    # if you screw around with ON UPDATE CASCADE type of stuff.
+    __requires__ = 'skip_mysql_on_windows',
 
     @classmethod
     def define_tables(cls, metadata):