Exemple #1
0
    def _record_context_functions(self):
        description = session.closest('description')
        setup  = self.calling_frame.f_locals.get('setup', None)
        teardown = self.calling_frame.f_locals.get('teardown', None)

        if description and not description.setup_func and setup:
            description.setup_func = setup
            del self.calling_frame.f_locals['setup']
        if description and not description.teardown_func and teardown:
            description.teardown_func = teardown
            del self.calling_frame.f_locals['teardown']
Exemple #2
0
    def __exit__(self, type_, value, traceback):
        self._teardown()
        if self.setup_exc_info:
            type_, value, traceback = self.setup_exc_info
        elif self.teardown_exc_info:
            type_, value, traceback = self.teardown_exc_info

        closest_runner = session.closest('runner')
        if closest_runner:
            closest_runner.handle_result((type_, value, traceback))

        session.pop()
        return True