summaryrefslogtreecommitdiff
path: root/unit_tests/mock.py
diff options
context:
space:
mode:
authorJason Pellerin <jpellerin@gmail.com>2007-03-12 19:27:02 +0000
committerJason Pellerin <jpellerin@gmail.com>2007-03-12 19:27:02 +0000
commitc75763d2cdc4714d54e94ef2c0fbc16b16d156c1 (patch)
tree785161d4f476b9f1e54b5b6aaaa51726fec5bd52 /unit_tests/mock.py
parent32d60eaf28dd2583cc631f43bf7a0d78603b85eb (diff)
downloadnose-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.py78
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()