Ejemplo n.º 1
0
    def test_shutdown_restores_output_streams(self):
        original_stdout = sys.stdout
        original_stderr = sys.stderr

        kernel = InternalIPKernel(initial_namespace=[('x', 42.1)])
        kernel.init_ipkernel(gui_backend=None)
        kernel.shutdown()

        self.assertIs(sys.stdout, original_stdout)
        self.assertIs(sys.stderr, original_stderr)
 def create_and_destroy_kernel(self):
     """
     Set up a new kernel with two associated consoles, then shut everything
     down.
     """
     kernel = InternalIPKernel()
     kernel.init_ipkernel(gui_backend=None)
     kernel.new_qt_console()
     kernel.new_qt_console()
     kernel.shutdown()
Ejemplo n.º 3
0
 def test_shutdown_closes_console_pipes(self):
     kernel = InternalIPKernel(initial_namespace=[('x', 42.1)])
     kernel.init_ipkernel(gui_backend=None)
     console = kernel.new_qt_console()
     self.assertFalse(console.stdout.closed)
     self.assertFalse(console.stderr.closed)
     kernel.shutdown()
     self.assertTrue(console.stdout.closed)
     self.assertTrue(console.stderr.closed)
Ejemplo n.º 4
0
    def test_io_pub_thread_stopped(self):
        kernel = InternalIPKernel()
        kernel.init_ipkernel(gui_backend=None)
        kernel.new_qt_console()
        kernel.new_qt_console()
        kernel.shutdown()

        io_pub_threads = [
            obj for obj in gc.get_objects() if isinstance(obj, IOPubThread)
        ]

        for thread in io_pub_threads:
            self.assertFalse(thread.thread.is_alive())
Ejemplo n.º 5
0
    def test_lifecycle(self):
        kernel = InternalIPKernel()
        self.assertIsNone(kernel.ipkernel)

        kernel.init_ipkernel(gui_backend=None)
        self.assertIsNotNone(kernel.ipkernel)
        self.assertIsInstance(kernel.ipkernel, IPKernelApp)

        kernel.new_qt_console()
        kernel.new_qt_console()
        self.assertEqual(len(kernel.consoles), 2)

        kernel.shutdown()
        self.assertIsNone(kernel.ipkernel)
        self.assertEqual(len(kernel.consoles), 0)
Ejemplo n.º 6
0
 def test_shutdown_closes_console_pipes(self):
     kernel = InternalIPKernel(initial_namespace=[('x', 42.1)])
     kernel.init_ipkernel(gui_backend=None)
     console = kernel.new_qt_console()
     self.assertFalse(console.stdout.closed)
     self.assertFalse(console.stderr.closed)
     kernel.shutdown()
     self.assertTrue(console.stdout.closed)
     self.assertTrue(console.stderr.closed)
Ejemplo n.º 7
0
    def test_shutdown_restores_output_streams(self):
        original_stdout = sys.stdout
        original_stderr = sys.stderr

        kernel = InternalIPKernel(initial_namespace=[('x', 42.1)])
        kernel.init_ipkernel(gui_backend=None)
        kernel.shutdown()

        self.assertIs(sys.stdout, original_stdout)
        self.assertIs(sys.stderr, original_stderr)
Ejemplo n.º 8
0
    def test_io_pub_thread_stopped(self):
        kernel = InternalIPKernel()
        kernel.init_ipkernel(gui_backend=None)
        kernel.new_qt_console()
        kernel.new_qt_console()
        kernel.shutdown()

        io_pub_threads = [
            obj for obj in gc.get_objects()
            if isinstance(obj, IOPubThread)
        ]

        for thread in io_pub_threads:
            self.assertFalse(thread.thread.is_alive())
Ejemplo n.º 9
0
    def test_lifecycle(self):
        kernel = InternalIPKernel()
        self.assertIsNone(kernel.ipkernel)

        kernel.init_ipkernel(gui_backend=None)
        self.assertIsNotNone(kernel.ipkernel)
        self.assertIsInstance(kernel.ipkernel, IPKernelApp)

        kernel.new_qt_console()
        kernel.new_qt_console()
        self.assertEqual(len(kernel.consoles), 2)

        kernel.shutdown()
        self.assertIsNone(kernel.ipkernel)
        self.assertEqual(len(kernel.consoles), 0)
    def test_initialize_twice(self):
        # Trying to re-initialize an already initialized IPKernelApp can
        # happen right now as a result of refactoring, but eventually
        # it should be an error. For now, it's a warning.
        kernel = InternalIPKernel()
        self.assertIsNone(kernel.ipkernel)
        kernel.init_ipkernel(gui_backend=None)
        try:
            self.assertIsNotNone(kernel.ipkernel)
            ipkernel = kernel.ipkernel

            with warnings.catch_warnings(record=True) as warn_msgs:
                warnings.simplefilter("always", category=DeprecationWarning)
                kernel.init_ipkernel(gui_backend=None)

            # Check that the existing kernel has not been replaced.
            self.assertIs(ipkernel, kernel.ipkernel)
        finally:
            kernel.shutdown()

        # Check that we got the expected warning message.
        self.assertEqual(len(warn_msgs), 1)
        message = str(warn_msgs[0].message)
        self.assertIn("already been initialized", message)
    def test_init_ipkernel_with_explicit_gui_backend(self):
        loop = tornado.ioloop.IOLoop.current()

        # Kernel initialization adds an "enter_eventloop" call to the
        # ioloop event loop queue. Mock to avoid modifying the actual event
        # loop.
        with mock.patch.object(loop, "add_callback") as mock_add_callback:
            with warnings.catch_warnings(record=True) as warn_msgs:
                warnings.simplefilter("always", category=DeprecationWarning)

                # Use of gui_backend is deprecated.
                kernel = InternalIPKernel()
                kernel.init_ipkernel(gui_backend="qt4")
                kernel.shutdown()

        mock_add_callback.reset_mock()

        # Check that we got the expected warning message.
        matching_messages = [
            msg for msg in warn_msgs
            if "gui_backend argument is deprecated" in str(msg.message)
        ]
        self.assertEqual(len(matching_messages), 1)
Ejemplo n.º 12
0
 def test_initial_namespace(self):
     kernel = InternalIPKernel(initial_namespace=[('x', 42.1)])
     kernel.init_ipkernel(gui_backend=None)
     self.assertIn('x', kernel.namespace)
     self.assertEqual(kernel.namespace['x'], 42.1)
     kernel.shutdown()
Ejemplo n.º 13
0
 def test_initial_namespace(self):
     kernel = InternalIPKernel(initial_namespace=[('x', 42.1)])
     kernel.init_ipkernel(gui_backend=None)
     self.assertIn('x', kernel.namespace)
     self.assertEqual(kernel.namespace['x'], 42.1)
     kernel.shutdown()