Skip to content

Commit

Permalink
Merge pull request #157 from fmieting/kernel_startup_timeout
Browse files Browse the repository at this point in the history
Kernel startup timeout can be set on CLI
  • Loading branch information
vidartf committed Dec 8, 2020
2 parents f88b438 + fa9f317 commit 8739c97
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
3 changes: 2 additions & 1 deletion nbval/kernel.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,15 @@ class RunningKernel(object):
this class.
"""
def __init__(self, kernel_name, cwd=None):
def __init__(self, kernel_name, cwd=None, startup_timeout=60):
"""
Initialise a new kernel
specify that matplotlib is inline and connect the stderr.
Stores the active kernel process and its manager.
"""

self.km, self.kc = start_new_kernel(
startup_timeout=startup_timeout,
kernel_name=kernel_name,
stderr=open(os.devnull, 'w'),
cwd=cwd,
Expand Down
10 changes: 9 additions & 1 deletion nbval/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,10 @@ def pytest_addoption(parser):
type=float,
help='Timeout for cell execution, in seconds.')

group.addoption('--nbval-kernel-startup-timeout', action='store', default=60,
type=float,
help='Timeout for kernel startup, in seconds.')

term_group = parser.getgroup("terminal reporting")
term_group._addoption(
'--nbdime', action='store_true',
Expand Down Expand Up @@ -234,7 +238,11 @@ def setup(self):
else:
kernel_name = self.nb.metadata.get(
'kernelspec', {}).get('name', 'python')
self.kernel = RunningKernel(kernel_name, str(self.fspath.dirname))
self.kernel = RunningKernel(
kernel_name,
cwd=str(self.fspath.dirname),
startup_timeout=self.config.option.nbval_kernel_startup_timeout,
)
self.setup_sanitize_files()
if getattr(self.parent.config.option, 'cov_source', None):
setup_coverage(self.parent.config, self.kernel, getattr(self, "fspath", None))
Expand Down

0 comments on commit 8739c97

Please sign in to comment.