diff options
author | Jason Kirtland <jek@discorporate.us> | 2008-01-19 23:37:11 +0000 |
---|---|---|
committer | Jason Kirtland <jek@discorporate.us> | 2008-01-19 23:37:11 +0000 |
commit | 4be99db15b7a62b37493c86da07bcc787f44a7df (patch) | |
tree | b9d71342f22e307a08c38487d63c795039f10b96 /test/testlib/testing.py | |
parent | 21193cebe22f44982cb70ecd64743df63494b17d (diff) | |
download | sqlalchemy-4be99db15b7a62b37493c86da07bcc787f44a7df.tar.gz |
- Restored 2.3 compat. in lib/sqlalchemy
- Part one of test suite fixes to run on 2.3
Lots of failures still around sets; sets.Set differs from __builtin__.set
particularly in the binops. We depend on set extensively now and may need to
provide a corrected sets.Set subclass on 2.3.
Diffstat (limited to 'test/testlib/testing.py')
-rw-r--r-- | test/testlib/testing.py | 42 |
1 files changed, 11 insertions, 31 deletions
diff --git a/test/testlib/testing.py b/test/testlib/testing.py index 1b5a55f04..b05795efd 100644 --- a/test/testlib/testing.py +++ b/test/testlib/testing.py @@ -2,9 +2,11 @@ # monkeypatches unittest.TestLoader.suiteClass at import time -import itertools, unittest, re, sys, os, operator, warnings +import itertools, os, operator, re, sys, unittest, warnings from cStringIO import StringIO import testlib.config as config +from testlib.compat import * + sql, MetaData, clear_mappers, Session, util = None, None, None, None, None sa_exceptions = None @@ -23,6 +25,7 @@ _ops = { '<': operator.lt, # sugar ('testing.db'); set here by config() at runtime db = None + def fails_on(*dbs): """Mark a test as expected to fail on one or more database implementations. @@ -49,11 +52,7 @@ def fails_on(*dbs): raise AssertionError( "Unexpected success for '%s' on DB implementation '%s'" % (fn_name, config.db.name)) - try: - maybe.__name__ = fn_name - except: - pass - return maybe + return _function_named(maybe, fn_name) return decorate def fails_on_everything_except(*dbs): @@ -80,11 +79,7 @@ def fails_on_everything_except(*dbs): raise AssertionError( "Unexpected success for '%s' on DB implementation '%s'" % (fn_name, config.db.name)) - try: - maybe.__name__ = fn_name - except: - pass - return maybe + return _function_named(maybe, fn_name) return decorate def unsupported(*dbs): @@ -103,17 +98,14 @@ def unsupported(*dbs): return True else: return fn(*args, **kw) - try: - maybe.__name__ = fn_name - except: - pass - return maybe + return _function_named(maybe, fn_name) return decorate def exclude(db, op, spec): """Mark a test as unsupported by specific database server versions. Stackable, both with other excludes and other decorators. Examples:: + # Not supported by mydb versions less than 1, 0 @exclude('mydb', '<', (1,0)) # Other operators work too @@ -130,11 +122,7 @@ def exclude(db, op, spec): return True else: return fn(*args, **kw) - try: - maybe.__name__ = fn_name - except: - pass - return maybe + return _function_named(maybe, fn_name) return decorate def _is_excluded(db, op, spec): @@ -204,11 +192,7 @@ def emits_warning(*messages): return fn(*args, **kw) finally: resetwarnings() - try: - safe.__name__ = fn.__name__ - except: - pass - return safe + return _function_named(safe, fn.__name__) return decorate def uses_deprecated(*messages): @@ -247,11 +231,7 @@ def uses_deprecated(*messages): return fn(*args, **kw) finally: resetwarnings() - try: - safe.__name__ = fn.__name__ - except: - pass - return safe + return _function_named(safe, fn.__name__) return decorate def resetwarnings(): |