]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
fix test ordering issues
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 28 Jul 2014 02:42:42 +0000 (22:42 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 28 Jul 2014 02:53:17 +0000 (22:53 -0400)
lib/sqlalchemy/testing/plugin/plugin_base.py
test/ext/test_extendedattr.py
test/ext/test_mutable.py
test/ext/test_orderinglist.py

index ed4f4d3b96196165fb5b7bc8ee04c5531ae26edb..6902795e5e7a476aa4adde2e1f99fe65b737a2e5 100644 (file)
@@ -454,6 +454,8 @@ def start_test_class(cls):
 
 
 def stop_test_class(cls):
+    #from sqlalchemy import inspect
+    #assert not inspect(testing.db).get_table_names()
     engines.testing_reaper._stop_test_ctx()
     if not options.low_connections:
         assertions.global_cleanup_assertions()
index 7a733696a7d105f7fee7f3b3e3fd2ec0dd6d15ca..352b6b24187d2d3163b0131bf6518d793884c4a2 100644 (file)
@@ -125,9 +125,11 @@ class MyClass(object):
 class UserDefinedExtensionTest(fixtures.ORMTest):
     @classmethod
     def teardown_class(cls):
-        clear_mappers()
         instrumentation._reinstall_default_lookups()
 
+    def teardown(self):
+        clear_mappers()
+
     def test_instance_dict(self):
         class User(MyClass):
             pass
index 32b3e11dd50447b4e9628b99df7491f3761597f3..dc0b5ba1c71fc4e7694d1b377e8a5b9ada37b58d 100644 (file)
@@ -6,17 +6,19 @@ from sqlalchemy.orm.instrumentation import ClassManager
 from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.testing import eq_, assert_raises_message
 from sqlalchemy.testing.util import picklers
-from sqlalchemy import testing
 from sqlalchemy.testing import fixtures
-import sys
-import pickle
+from sqlalchemy.ext.mutable import MutableComposite
+from sqlalchemy.ext.mutable import MutableDict
+
 
 class Foo(fixtures.BasicEntity):
     pass
 
+
 class SubFoo(Foo):
     pass
 
+
 class FooWithEq(object):
     def __init__(self, **kw):
         for k in kw:
@@ -28,7 +30,38 @@ class FooWithEq(object):
     def __eq__(self, other):
         return self.id == other.id
 
-from sqlalchemy.ext.mutable import MutableDict
+
+class Point(MutableComposite):
+    def __init__(self, x, y):
+        self.x = x
+        self.y = y
+
+    def __setattr__(self, key, value):
+        object.__setattr__(self, key, value)
+        self.changed()
+
+    def __composite_values__(self):
+        return self.x, self.y
+
+    def __getstate__(self):
+        return self.x, self.y
+
+    def __setstate__(self, state):
+        self.x, self.y = state
+
+    def __eq__(self, other):
+        return isinstance(other, Point) and \
+            other.x == self.x and \
+            other.y == self.y
+
+
+class MyPoint(Point):
+    @classmethod
+    def coerce(cls, key, value):
+        if isinstance(value, tuple):
+            value = Point(*value)
+        return value
+
 
 class _MutableDictTestBase(object):
     run_define_tables = 'each'
@@ -325,32 +358,7 @@ class _CompositeTestBase(object):
     @classmethod
     def _type_fixture(cls):
 
-        from sqlalchemy.ext.mutable import MutableComposite
 
-        global Point
-
-        class Point(MutableComposite):
-            def __init__(self, x, y):
-                self.x = x
-                self.y = y
-
-            def __setattr__(self, key, value):
-                object.__setattr__(self, key, value)
-                self.changed()
-
-            def __composite_values__(self):
-                return self.x, self.y
-
-            def __getstate__(self):
-                return self.x, self.y
-
-            def __setstate__(self, state):
-                self.x, self.y = state
-
-            def __eq__(self, other):
-                return isinstance(other, Point) and \
-                    other.x == self.x and \
-                    other.y == self.y
         return Point
 
 class MutableCompositesUnpickleTest(_CompositeTestBase, fixtures.MappedTest):
@@ -473,39 +481,7 @@ class MutableCompositeCustomCoerceTest(_CompositeTestBase, fixtures.MappedTest):
     @classmethod
     def _type_fixture(cls):
 
-        from sqlalchemy.ext.mutable import MutableComposite
-
-        global Point
-
-        class Point(MutableComposite):
-            def __init__(self, x, y):
-                self.x = x
-                self.y = y
-
-            @classmethod
-            def coerce(cls, key, value):
-                if isinstance(value, tuple):
-                    value = Point(*value)
-                return value
-
-            def __setattr__(self, key, value):
-                object.__setattr__(self, key, value)
-                self.changed()
-
-            def __composite_values__(self):
-                return self.x, self.y
-
-            def __getstate__(self):
-                return self.x, self.y
-
-            def __setstate__(self, state):
-                self.x, self.y = state
-
-            def __eq__(self, other):
-                return isinstance(other, Point) and \
-                    other.x == self.x and \
-                    other.y == self.y
-        return Point
+        return MyPoint
 
 
     @classmethod
index 37b992f5b9ea308e1fac7d04fddad4cbe047c1dd..3223c8048b0cb67c15e5f831de07ebc8661e6e23 100644 (file)
@@ -45,8 +45,7 @@ class OrderingListTest(fixtures.TestBase):
         global metadata, slides_table, bullets_table, Slide, Bullet
         slides_table, bullets_table = None, None
         Slide, Bullet = None, None
-        if metadata:
-            metadata.clear()
+        metadata = MetaData(testing.db)
 
     def _setup(self, test_collection_class):
         """Build a relationship situation using the given
@@ -54,7 +53,6 @@ class OrderingListTest(fixtures.TestBase):
 
         global metadata, slides_table, bullets_table, Slide, Bullet
 
-        metadata = MetaData(testing.db)
         slides_table = Table('test_Slides', metadata,
                              Column('id', Integer, primary_key=True,
                                     test_needs_autoincrement=True),