Skip to content

Commit 5c79a5b

Browse files
committed
Kernel startup timeout can be set on CLI
Using '--nbval-kernel-startup-timeout' the respective timeout can be set to a float value, i.e. 'inf' is also valid.
1 parent f88b438 commit 5c79a5b

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

nbval/kernel.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,15 @@ class RunningKernel(object):
7575
this class.
7676
7777
"""
78-
def __init__(self, kernel_name, cwd=None):
78+
def __init__(self, kernel_name, startup_timeout, cwd=None):
7979
"""
8080
Initialise a new kernel
8181
specify that matplotlib is inline and connect the stderr.
8282
Stores the active kernel process and its manager.
8383
"""
8484

8585
self.km, self.kc = start_new_kernel(
86+
startup_timeout=startup_timeout,
8687
kernel_name=kernel_name,
8788
stderr=open(os.devnull, 'w'),
8889
cwd=cwd,

nbval/plugin.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ def pytest_addoption(parser):
9393
type=float,
9494
help='Timeout for cell execution, in seconds.')
9595

96+
group.addoption('--nbval-kernel-startup-timeout', action='store', default=60,
97+
type=float,
98+
help='Timeout for kernel startup, in seconds.')
99+
96100
term_group = parser.getgroup("terminal reporting")
97101
term_group._addoption(
98102
'--nbdime', action='store_true',
@@ -234,7 +238,8 @@ def setup(self):
234238
else:
235239
kernel_name = self.nb.metadata.get(
236240
'kernelspec', {}).get('name', 'python')
237-
self.kernel = RunningKernel(kernel_name, str(self.fspath.dirname))
241+
self.kernel = RunningKernel(
242+
kernel_name, self.config.option.nbval_kernel_startup_timeout, str(self.fspath.dirname))
238243
self.setup_sanitize_files()
239244
if getattr(self.parent.config.option, 'cov_source', None):
240245
setup_coverage(self.parent.config, self.kernel, getattr(self, "fspath", None))

0 commit comments

Comments
 (0)