blob: 85fd0a316b9951704bb23af6fc626ce25a67cedf [file] [log] [blame]
import contextlib
import sys
target = {'foo': 'FOO'}
def is_instance(obj, klass):
"""Version of is_instance that doesn't access __class__"""
return issubclass(type(obj), klass)
class SomeClass(object):
class_attribute = None
def wibble(self): pass
class X(object):
pass
@contextlib.contextmanager
def uncache(*names):
"""Uncache a module from sys.modules.
A basic sanity check is performed to prevent uncaching modules that either
cannot/shouldn't be uncached.
"""
for name in names:
assert name not in ('sys', 'marshal', 'imp')
try:
del sys.modules[name]
except KeyError:
pass
try:
yield
finally:
for name in names:
del sys.modules[name]
class _ALWAYS_EQ:
"""
Object that is equal to anything.
"""
def __eq__(self, other):
return True
def __ne__(self, other):
return False
ALWAYS_EQ = _ALWAYS_EQ()