Example #1
0
class IPyNbFile(pytest.File):
    def collect(self):
        with self.fspath.open() as f:
            self.notebook_folder = self.fspath.dirname
            self.nb = reads(f.read(), 'json')
            self.runner = NotebookRunner(self.nb)

            cell_num = 0

            for cell in self.runner.iter_code_cells():
                yield IPyNbCell(self.name, self, cell_num, cell)
                cell_num += 1

    def setup(self):
        self.fixture_cell = None

    def teardown(self):
        self.runner.shutdown_kernel()
Example #2
0
class IPyNbFile(pytest.File):
    def collect(self):
        with self.fspath.open() as f: payload = f.read()
        self.nb = nbformat.reads(payload, 3)

        # kernel needs to start from the same dir the ipynb is in
        notebook_dir = self.fspath.dirname
        cwd = os.getcwd()
        if cwd != notebook_dir: os.chdir(notebook_dir)
        self.runner = NotebookRunner(self.nb)
        os.chdir(cwd)

        cell_num = 1

        for cell in self.runner.iter_code_cells():
            yield IPyNbCell.from_parent(self, name=self.name, cell_num=cell_num, cell=cell)
            cell_num += 1

    def setup(self):
        self.fixture_cell = None

    def teardown(self):
        self.runner.shutdown_kernel()
Example #3
0
class IPyNbFile(pytest.File):
    def collect(self):
        with self.fspath.open() as f:
            payload = f.read()
        self.notebook_folder = self.fspath.dirname
        try:
            # Ipython 3
            self.nb = reads(payload, 3)
        except (TypeError, NBFormatError):
            # Ipython 2
            self.nb = reads(payload, 'json')
        self.runner = NotebookRunner(self.nb)

        cell_num = 1

        for cell in self.runner.iter_code_cells():
            yield IPyNbCell(self.name, self, cell_num, cell)
            cell_num += 1

    def setup(self):
        self.fixture_cell = None

    def teardown(self):
        self.runner.shutdown_kernel()
Example #4
0
class IPyNbFile(pytest.File):
    def collect(self):
        with self.fspath.open() as f:
            payload = f.read()
        self.notebook_folder = self.fspath.dirname
        try:
            # Ipython 3
            self.nb = reads(payload, 3)
        except (TypeError, NBFormatError):
            # Ipython 2
            self.nb = reads(payload, 'json')
        self.runner = NotebookRunner(self.nb)

        cell_num = 1

        for cell in self.runner.iter_code_cells():
            yield IPyNbCell(self.name, self, cell_num, cell)
            cell_num += 1

    def setup(self):
        self.fixture_cell = None

    def teardown(self):
        self.runner.shutdown_kernel()