| Viewing file:  warnings.py (1.35 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
# testing/warnings.py# Copyright (C) 2005-2014 the SQLAlchemy authors and contributors
 # <see AUTHORS file>
 #
 # This module is part of SQLAlchemy and is released under
 # the MIT License: http://www.opensource.org/licenses/mit-license.php
 """NOTE:  copied/adapted from SQLAlchemy master for backwards compatibility;
 this should be removable when Alembic targets SQLAlchemy 0.9.4.
 """
 
 from __future__ import absolute_import
 
 import warnings
 from sqlalchemy import exc as sa_exc
 import re
 
 
 def setup_filters():
 """Set global warning behavior for the test suite."""
 
 warnings.filterwarnings('ignore',
 category=sa_exc.SAPendingDeprecationWarning)
 warnings.filterwarnings('error', category=sa_exc.SADeprecationWarning)
 warnings.filterwarnings('error', category=sa_exc.SAWarning)
 
 
 def assert_warnings(fn, warning_msgs, regex=False):
 """Assert that each of the given warnings are emitted by fn."""
 
 from .assertions import eq_
 
 with warnings.catch_warnings(record=True) as log:
 # ensure that nothing is going into __warningregistry__
 warnings.filterwarnings("always")
 
 result = fn()
 for warning in log:
 popwarn = warning_msgs.pop(0)
 if regex:
 assert re.match(popwarn, str(warning.message))
 else:
 eq_(popwarn, str(warning.message))
 return result
 
 |