##// END OF EJS Templates
Refactored htmlnotebook session and kernel manager....
Refactored htmlnotebook session and kernel manager. * The KernelManager now manages multiple kernels with a uniform API. * The SessionManager now manages the full set of channels+streams and the IPython.zmq.session.Session object for a single kernel.

File last commit:

r4343:3f3cd928
r4343:3f3cd928
Show More
test_kernelsession.py
38 lines | 1.2 KiB | text/x-python | PythonLexer
from unittest import TestCase
from IPython.frontend.html.notebook.kernelmanager import KernelManager
from IPython.frontend.html.notebook.sessionmanager import SessionManagerRunningError
class TestKernelManager(TestCase):
def test_km_lifecycle(self):
km = KernelManager()
kid = km.start_kernel()
self.assert_(kid in km)
self.assertEquals(len(km),1)
km.kill_kernel(kid)
self.assert_(not kid in km)
kid = km.start_kernel()
self.assertEquals('127.0.0.1',km.get_kernel_ip(kid))
port_dict = km.get_kernel_ports(kid)
self.assert_('stdin_port' in port_dict)
self.assert_('iopub_port' in port_dict)
self.assert_('shell_port' in port_dict)
self.assert_('hb_port' in port_dict)
km.get_kernel_process(kid)
def test_session_manager(self):
km = KernelManager()
kid = km.start_kernel()
sm = km.create_session_manager(kid)
self.assert_(sm._running)
sm.stop()
self.assert_(not sm._running)
sm.start()
self.assertRaises(SessionManagerRunningError, sm.start)
sm.get_iopub_stream()
sm.get_shell_stream()
sm.session