diff options
author | Jason Pellerin <jpellerin@gmail.com> | 2007-03-12 19:27:02 +0000 |
---|---|---|
committer | Jason Pellerin <jpellerin@gmail.com> | 2007-03-12 19:27:02 +0000 |
commit | c75763d2cdc4714d54e94ef2c0fbc16b16d156c1 (patch) | |
tree | 785161d4f476b9f1e54b5b6aaaa51726fec5bd52 /unit_tests/mock.py | |
parent | 32d60eaf28dd2583cc631f43bf7a0d78603b85eb (diff) | |
download | nose-c75763d2cdc4714d54e94ef2c0fbc16b16d156c1.tar.gz |
Current context implementation is flawed: it has to do a *lot* of extra work when a parent-level setup fails. Beginning new, suite-based fixture implementation.
Diffstat (limited to 'unit_tests/mock.py')
-rw-r--r-- | unit_tests/mock.py | 78 |
1 files changed, 25 insertions, 53 deletions
diff --git a/unit_tests/mock.py b/unit_tests/mock.py index 745ed14..30a17c9 100644 --- a/unit_tests/mock.py +++ b/unit_tests/mock.py @@ -1,53 +1,25 @@ -"""Useful mock objects. -""" - -class Bucket(object): - def __init__(self, **kw): - self.__dict__['d'] = {} - self.__dict__['d'].update(kw) - - def __getattr__(self, attr): - if not self.__dict__.has_key('d'): - return None - return self.__dict__['d'].get(attr) - - def __setattr__(self, attr, val): - self.d[attr] = val - - -class MockOptParser(object): - def __init__(self): - self.opts = [] - def add_option(self, *args, **kw): - self.opts.append((args, kw)) - - -class Mod(object): - def __init__(self, name, **kw): - self.__name__ = name - if 'file' in kw: - self.__file__ = kw.pop('file') - else: - if 'path' in kw: - path = kw.pop('path') - else: - path = '' - self.__file__ = "%s/%s.pyc" % (path, name.replace('.', '/')) - self.__path__ = [ self.__file__ ] # FIXME? - self.__dict__.update(kw) - - -class Result(object): - def __init__(self): - from nose.result import Result - import types - self.errors = [] - for attr in dir(Result): - if type(getattr(Result, attr)) is types.MethodType: - if not hasattr(self, attr): - setattr(self, attr, lambda s, *a, **kw: None) - elif not attr.startswith('__'): - setattr(self, attr, None) - - def addError(self, test, err): - self.errors.append(err) +from nose.case import Test +from nose.config import Config + + +class MockContext: + result_proxy = None + + def __init__(self, parent=None, config=None): + self.parent = parent + if config is None: + config = Config() + self.config = config + + def __call__(self, test): + return Test(self, test) + + def setup(self): + print "Context setup called" + if self.parent is not None: + self.parent.setup() + + def teardown(self): + print "Context teardown called" + if self.parent is not None: + self.parent.teardown() |