26
def discover_test_names(module_or_name):
27
if isinstance(module_or_name, basestring):
28
match = module_or_name
26
def load_tests(basic_tests, module, loader):
27
if module == 'discover':
28
here = os.path.abspath(os.path.dirname(__file__))
29
basic_tests.addTest(loader.discover(here))
31
file_names = os.listdir(os.path.dirname(__file__))
33
for file_name in file_names:
34
name, ext = os.path.splitext(file_name)
35
if name.startswith('test_') and ext == '.py' and match in name:
36
test_names.add("%s.%s" % (__name__, name))
40
def load_tests(basic_tests, module, loader):
41
test_names = discover_test_names(module)
42
basic_tests.addTest(loader.loadTestsFromModuleNames(test_names))
31
full_name = "%s.%s" % (__name__, module)
32
basic_tests.addTest(loader.loadTestsFromModuleNames([full_name]))
46
36
class MockMethod(object):
49
def bind(klass, test_instance, obj, method_name,
50
return_value=None, raise_error=None, raise_on=1):
39
def bind(klass, test_instance, obj, method_name, return_value=None):
51
40
original_method = getattr(obj, method_name)
52
41
test_instance.addCleanup(setattr, obj, method_name, original_method)
53
setattr(obj, method_name, klass(return_value, raise_error, raise_on))
42
setattr(obj, method_name, klass(return_value))
55
def __init__(self, return_value=None, raise_error=None, raise_on=1):
44
def __init__(self, return_value=None):
56
45
self.called = False
57
46
self.call_count = 0
60
49
self.return_value = return_value
61
self.raise_error = raise_error
62
self.raise_on = raise_on
64
51
def __call__(self, *args, **kwargs):
66
53
self.call_count += 1
68
55
self.kwargs = kwargs
69
if self.raise_error is not None and self.call_count == self.raise_on:
70
raise self.raise_error
71
56
return self.return_value