mirror of
https://github.com/aykhans/AzSuicideDataVisualization.git
synced 2025-04-22 18:32:15 +00:00
40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
"""Test kernel for signalling subprocesses"""
|
|
# Copyright (c) Jupyter Development Team.
|
|
# Distributed under the terms of the Modified BSD License.
|
|
import os
|
|
import time
|
|
|
|
from ipykernel.displayhook import ZMQDisplayHook
|
|
from ipykernel.kernelapp import IPKernelApp
|
|
from ipykernel.kernelbase import Kernel
|
|
|
|
|
|
class ProblemTestKernel(Kernel):
|
|
"""Kernel for testing kernel problems"""
|
|
|
|
implementation = "problemtest"
|
|
implementation_version = "0.0"
|
|
banner = ""
|
|
|
|
|
|
class ProblemTestApp(IPKernelApp):
|
|
kernel_class = ProblemTestKernel
|
|
|
|
def init_io(self):
|
|
# Overridden to disable stdout/stderr capture
|
|
self.displayhook = ZMQDisplayHook(self.session, self.iopub_socket)
|
|
|
|
def init_sockets(self):
|
|
if os.environ.get("FAIL_ON_START") == "1":
|
|
# Simulates e.g. a port binding issue (Adress already in use)
|
|
raise RuntimeError("Failed for testing purposes")
|
|
return super().init_sockets()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
# make startup artificially slow,
|
|
# so that we exercise client logic for slow-starting kernels
|
|
startup_delay = int(os.environ.get("STARTUP_DELAY", "2"))
|
|
time.sleep(startup_delay)
|
|
ProblemTestApp.launch_instance()
|