]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
revert r6686 and adjust the stacklevel of test_notsane_warning's SAWarning so
authorPhilip Jenvey <pjenvey@underboss.org>
Mon, 25 Jan 2010 00:32:47 +0000 (00:32 +0000)
committerPhilip Jenvey <pjenvey@underboss.org>
Mon, 25 Jan 2010 00:32:47 +0000 (00:32 +0000)
it can force it to be emitted

lib/sqlalchemy/orm/mapper.py
lib/sqlalchemy/util.py
test/orm/test_unitofwork.py

index 5faa719d3f2df3e8e6704ee18733fad7559777de..0d4e2adaaf4a2f4c6be19cdef387e519e4b49259 100644 (file)
@@ -1443,7 +1443,8 @@ class Mapper(object):
                         
                 elif mapper.version_id_col is not None:
                     util.warn("Dialect %s does not support updated rowcount "
-                            "- versioning cannot be verified." % c.dialect.dialect_description)
+                            "- versioning cannot be verified." % c.dialect.dialect_description,
+                              stacklevel=12)
                     
             if insert:
                 statement = table.insert()
index c2ef8142502cf7124fdce4d8d22ad040870e36d1..f8be5c3fd64053dbf6704dd44918241a45bc64da 100644 (file)
@@ -1523,17 +1523,17 @@ class WeakIdentityMapping(weakref.WeakKeyDictionary):
         return self._keyed_weakref(object, self._cleanup)
 
 
-def warn(msg):
+def warn(msg, stacklevel=3):
     if isinstance(msg, basestring):
-        warnings.warn(msg, exc.SAWarning, stacklevel=3)
+        warnings.warn(msg, exc.SAWarning, stacklevel=stacklevel)
     else:
-        warnings.warn(msg, stacklevel=3)
+        warnings.warn(msg, stacklevel=stacklevel)
 
-def warn_deprecated(msg):
-    warnings.warn(msg, exc.SADeprecationWarning, stacklevel=3)
+def warn_deprecated(msg, stacklevel=3):
+    warnings.warn(msg, exc.SADeprecationWarning, stacklevel=stacklevel)
 
-def warn_pending_deprecation(msg):
-    warnings.warn(msg, exc.SAPendingDeprecationWarning, stacklevel=3)
+def warn_pending_deprecation(msg, stacklevel=3):
+    warnings.warn(msg, exc.SAPendingDeprecationWarning, stacklevel=stacklevel)
 
 def deprecated(message=None, add_deprecation_to_docstring=True):
     """Decorates a function and issues a deprecation warning on use.
index dff59c85a5f20162ae5c53f2e3bb22aacc44fb57..324c77e9a5d84e5a6528c42b12b3f569d576baa2 100644 (file)
@@ -69,10 +69,15 @@ class VersioningTest(_base.MappedTest):
 
     @engines.close_open_connections
     @testing.resolve_artifact_names
-    def test_0notsane_warning(self):
-        # This test relies on an SAWarning being emitted, but the
-        # subsequent tests' emits_warning cause that SAWarning to be
-        # ignored forever. So it must run first
+    def test_notsane_warning(self):
+        # clear the warning module's ignores to force the SAWarning this
+        # test relies on to be emitted (it may have already been ignored
+        # forever by other VersioningTests)
+        try:
+            del __warningregistry__
+        except NameError:
+            pass
+
         #
         #
         # TODO: ???????