From 5310d78d51418a461cd6974cd481c52a5613d4a0 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Mon, 26 Aug 2019 10:44:49 +0200 Subject: [PATCH 1/2] Add install_kernel method to ProcessTestApp --- jupyterlab/tests/test_app.py | 58 ++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 22 deletions(-) diff --git a/jupyterlab/tests/test_app.py b/jupyterlab/tests/test_app.py index 7bd4533df255..eab57daa67a7 100644 --- a/jupyterlab/tests/test_app.py +++ b/jupyterlab/tests/test_app.py @@ -77,27 +77,6 @@ def _create_workspaces_dir(): return root_dir -def _install_kernels(): - # Install echo and ipython kernels - should be done after env patch - kernel_json = { - 'argv': [ - sys.executable, - '-m', 'jupyterlab.tests.echo_kernel', - '-f', '{connection_file}' - ], - 'display_name': "Echo Kernel", - 'language': 'echo' - } - paths = jupyter_core.paths - kernel_dir = pjoin(paths.jupyter_data_dir(), 'kernels', 'echo') - os.makedirs(kernel_dir) - with open(pjoin(kernel_dir, 'kernel.json'), 'w') as f: - f.write(json.dumps(kernel_json)) - - ipykernel_dir = pjoin(paths.jupyter_data_dir(), 'kernels', 'ipython') - write_kernel_spec(ipykernel_dir) - - class TestEnv(object): """Set Jupyter path variables to a temporary directory @@ -157,13 +136,48 @@ def init_server_extensions(self): pass def start(self): - _install_kernels() + self._install_kernels() self.kernel_manager.default_kernel_name = 'echo' self.lab_config.schemas_dir = self.schemas_dir self.lab_config.user_settings_dir = self.user_settings_dir self.lab_config.workspaces_dir = self.workspaces_dir ProcessApp.start(self) + def install_kernel(self, kernel_name, kernel_spec): + """Install a kernel spec to the data directory. + + Parameters + ---------- + kernel_name: str + Name of the kernel. + kernel_spec: dict + The kernel spec for the kernel + """ + paths = jupyter_core.paths + kernel_dir = pjoin(paths.jupyter_data_dir(), 'kernels', kernel_name) + os.makedirs(kernel_dir) + with open(pjoin(kernel_dir, 'kernel.json'), 'w') as f: + f.write(json.dumps(kernel_spec)) + + def _install_kernels(self): + # Install echo and ipython kernels - should be done after env patch + self.install_kernel( + kernel_name="echo", + kernel_spec={ + 'argv': [ + sys.executable, + '-m', 'jupyterlab.tests.echo_kernel', + '-f', '{connection_file}' + ], + 'display_name': "Echo Kernel", + 'language': 'echo' + } + ) + + paths = jupyter_core.paths + ipykernel_dir = pjoin(paths.jupyter_data_dir(), 'kernels', 'ipython') + write_kernel_spec(ipykernel_dir) + def _process_finished(self, future): self.http_server.stop() self.io_loop.stop() From 78dc41f8929f7dec1bab67329b16a60ccee89166 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Mon, 26 Aug 2019 10:46:51 +0200 Subject: [PATCH 2/2] Rename to _install_default_kernels --- jupyterlab/tests/test_app.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jupyterlab/tests/test_app.py b/jupyterlab/tests/test_app.py index eab57daa67a7..1912c2ec5129 100644 --- a/jupyterlab/tests/test_app.py +++ b/jupyterlab/tests/test_app.py @@ -136,7 +136,7 @@ def init_server_extensions(self): pass def start(self): - self._install_kernels() + self._install_default_kernels() self.kernel_manager.default_kernel_name = 'echo' self.lab_config.schemas_dir = self.schemas_dir self.lab_config.user_settings_dir = self.user_settings_dir @@ -159,7 +159,7 @@ def install_kernel(self, kernel_name, kernel_spec): with open(pjoin(kernel_dir, 'kernel.json'), 'w') as f: f.write(json.dumps(kernel_spec)) - def _install_kernels(self): + def _install_default_kernels(self): # Install echo and ipython kernels - should be done after env patch self.install_kernel( kernel_name="echo",