1234567891011121314151617181920212223242526272829 |
- import os
- from pathlib import Path
- import subprocess
- from tempfile import TemporaryDirectory
- import pytest
- nbformat = pytest.importorskip('nbformat')
- # From https://blog.thedataincubator.com/2016/06/testing-jupyter-notebooks/
- def test_ipynb():
- nb_path = Path(__file__).parent / 'test_nbagg_01.ipynb'
- with TemporaryDirectory() as tmpdir:
- out_path = Path(tmpdir, "out.ipynb")
- subprocess.check_call(
- ["jupyter", "nbconvert", "--to", "notebook",
- "--execute", "--ExecutePreprocessor.timeout=500",
- "--output", str(out_path), str(nb_path)],
- env={**os.environ, "IPYTHONDIR": tmpdir})
- with out_path.open() as out:
- nb = nbformat.read(out, nbformat.current_nbformat)
- errors = [output for cell in nb.cells if "outputs" in cell
- for output in cell["outputs"]
- if output.output_type == "error"]
- assert not errors
|