##// END OF EJS Templates
Merged ipython-notification branch. IPython.kernel.core.notification provides a basic, performant, notification center. Interpreter developers are encouraged to send notifications for relevant interpreter events (e.g. printed output, exceptions, etc.). See docs/source/developer/notification_blueprint.txt for an overview and use cases. Merge also contains a fix for I.kernel.engineservice.ThreadedEngineService to propagate exceptions to clients, and in-progress Cocoa frontend.
Merged ipython-notification branch. IPython.kernel.core.notification provides a basic, performant, notification center. Interpreter developers are encouraged to send notifications for relevant interpreter events (e.g. printed output, exceptions, etc.). See docs/source/developer/notification_blueprint.txt for an overview and use cases. Merge also contains a fix for I.kernel.engineservice.ThreadedEngineService to propagate exceptions to clients, and in-progress Cocoa frontend.

File last commit:

r1274:8160ddf3
r1446:157b72a4 merge
Show More
test_engineservice.py
78 lines | 2.7 KiB | text/x-python | PythonLexer
# encoding: utf-8
"""This file contains unittests for the kernel.engineservice.py module.
Things that should be tested:
- Should the EngineService return Deferred objects?
- Run the same tests that are run in shell.py.
- Make sure that the Interface is really implemented.
- The startService and stopService methods.
"""
__docformat__ = "restructuredtext en"
#-------------------------------------------------------------------------------
# Copyright (C) 2008 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Imports
#-------------------------------------------------------------------------------
try:
from twisted.internet import defer
from twisted.application.service import IService
from IPython.kernel import engineservice as es
from IPython.testing.util import DeferredTestCase
from IPython.kernel.tests.engineservicetest import \
IEngineCoreTestCase, \
IEngineSerializedTestCase, \
IEngineQueuedTestCase, \
IEnginePropertiesTestCase
except ImportError:
pass
else:
class BasicEngineServiceTest(DeferredTestCase,
IEngineCoreTestCase,
IEngineSerializedTestCase,
IEnginePropertiesTestCase):
def setUp(self):
self.engine = es.EngineService()
self.engine.startService()
def tearDown(self):
return self.engine.stopService()
class ThreadedEngineServiceTest(DeferredTestCase,
IEngineCoreTestCase,
IEngineSerializedTestCase,
IEnginePropertiesTestCase):
def setUp(self):
self.engine = es.ThreadedEngineService()
self.engine.startService()
def tearDown(self):
return self.engine.stopService()
class QueuedEngineServiceTest(DeferredTestCase,
IEngineCoreTestCase,
IEngineSerializedTestCase,
IEnginePropertiesTestCase,
IEngineQueuedTestCase):
def setUp(self):
self.rawEngine = es.EngineService()
self.rawEngine.startService()
self.engine = es.IEngineQueued(self.rawEngine)
def tearDown(self):
return self.rawEngine.stopService()