Skip to content

Commit 8739c97

Browse files
authored
Merge pull request #157 from fmieting/kernel_startup_timeout
Kernel startup timeout can be set on CLI
2 parents f88b438 + fa9f317 commit 8739c97

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-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, cwd=None, startup_timeout=60):
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: 9 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,11 @@ 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,
243+
cwd=str(self.fspath.dirname),
244+
startup_timeout=self.config.option.nbval_kernel_startup_timeout,
245+
)
238246
self.setup_sanitize_files()
239247
if getattr(self.parent.config.option, 'cov_source', None):
240248
setup_coverage(self.parent.config, self.kernel, getattr(self, "fspath", None))

0 commit comments

Comments
 (0)