From aad755be975e5e6f033aa3b95bc92b436d2bcef0 Mon Sep 17 00:00:00 2001 From: seanebum Date: Tue, 26 Oct 2021 15:00:50 -0400 Subject: [PATCH 01/17] adding unit test to check all notebooks. test is currently implemented in same testing instance as test_model and test_solver, however it takes a very long time to run. A timeout is given to each cell of 10 minutes, and cells that exceed this timeout report erroneous and will cause the test to fail. This is a naive implementation which will execute all notebooks contained in the examples directory, and may need to be modified to operate on or be able to select a minimal set of notebooks which meet a stricter runtime criteria. Additionally, it may be worth separating these tests to be executed by a different action to prevent unwanted failures from notebooks causing the main testing routine to fail. --- test/run_tests.py | 2 ++ test/test_notebooks.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 test/test_notebooks.py diff --git a/test/run_tests.py b/test/run_tests.py index 5811d5ad..1012dfcd 100755 --- a/test/run_tests.py +++ b/test/run_tests.py @@ -32,11 +32,13 @@ import test_model import test_solver + import test_notebooks #import test_mincde modules = [ test_model, test_solver, + test_notebooks #test_mincde, ] diff --git a/test/test_notebooks.py b/test/test_notebooks.py new file mode 100644 index 00000000..6d29af2f --- /dev/null +++ b/test/test_notebooks.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +''' +SpatialPy is a Python 3 package for simulation of +spatial deterministic/stochastic reaction-diffusion-advection problems +Copyright (C) 2021 SpatialPy developers. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU GENERAL PUBLIC LICENSE Version 3 as +published by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU GENERAL PUBLIC LICENSE Version 3 for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +''' + +import os +import nbformat +from nbconvert.preprocessors import ExecutePreprocessor + +errors = {} +ep = ExecutePreprocessor(timeout=600, kernel_name='python3', allow_errors=True) +for root, dirs, files in os.walk("../examples/"): + for file in files: + if file.endswith(".ipynb"): + with open(os.path.join(root, file)) as f: + print('Executing {}...'.format(file)) + nb = nbformat.read(f, as_version=nbformat.NO_CONVERT) + try: + ep.preprocess(nb, {'metadata': {'path': root}}) + except Exception as err: + print('Error executing the notebook "{}".\n\n'.format(file)) + errors[file] = err +for fname, err in errors.items(): + if len(err.__str__()) > 500: + print('{}:\n{}\n...\n{}'.format(fname, err.__str__()[:251], err.__str__()[-251:])) + else: + print('{}:\n{}'.format(fname, err)) + From e88f684e76b1ec5c00b3a80b672860285e5499ae Mon Sep 17 00:00:00 2001 From: seanebum Date: Tue, 26 Oct 2021 15:18:34 -0400 Subject: [PATCH 02/17] need to add nbformat to testing env in order to run notebook tests --- .github/workflows/requirements.txt | 1 + .github/workflows/run-tests.yml | 1 + 2 files changed, 2 insertions(+) create mode 100644 .github/workflows/requirements.txt diff --git a/.github/workflows/requirements.txt b/.github/workflows/requirements.txt new file mode 100644 index 00000000..e1717092 --- /dev/null +++ b/.github/workflows/requirements.txt @@ -0,0 +1 @@ +nbformat=>5.0.8 diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 3ba08da0..3969cb33 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -17,6 +17,7 @@ jobs: uses: actions/setup-python@v2 with: python-version: '3.7' + path: ".github/workflows/requirements.txt" - name: Install Python dependencies run: | From 894e0b9e2997d3289e32eb42c0b4cf8eca216284 Mon Sep 17 00:00:00 2001 From: seanebum Date: Tue, 26 Oct 2021 15:21:29 -0400 Subject: [PATCH 03/17] that didn't work... --- .github/workflows/requirements.txt | 1 - .github/workflows/run-tests.yml | 1 - 2 files changed, 2 deletions(-) delete mode 100644 .github/workflows/requirements.txt diff --git a/.github/workflows/requirements.txt b/.github/workflows/requirements.txt deleted file mode 100644 index e1717092..00000000 --- a/.github/workflows/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -nbformat=>5.0.8 diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 3969cb33..3ba08da0 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -17,7 +17,6 @@ jobs: uses: actions/setup-python@v2 with: python-version: '3.7' - path: ".github/workflows/requirements.txt" - name: Install Python dependencies run: | From 67cec84878c79147f875873ed9c17b127ba7ccf3 Mon Sep 17 00:00:00 2001 From: seanebum Date: Tue, 26 Oct 2021 15:22:41 -0400 Subject: [PATCH 04/17] need to add nbformat to testing env in order to run notebook tests --- .github/workflows/run-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 3ba08da0..351dfd40 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -23,6 +23,7 @@ jobs: python3 -m pip install --upgrade pip python3 -m pip install -r requirements.txt python3 -m pip install coverage + python3 -m pip install nbformat - name: Run tests run: coverage run test/run_tests.py From 95c69ca0f2dc41e8cbeefb63d78c345a19272615 Mon Sep 17 00:00:00 2001 From: seanebum Date: Tue, 26 Oct 2021 15:24:38 -0400 Subject: [PATCH 05/17] needed nbconvert too --- .github/workflows/run-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 351dfd40..6a030007 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -24,6 +24,7 @@ jobs: python3 -m pip install -r requirements.txt python3 -m pip install coverage python3 -m pip install nbformat + python3 -m pip install nbconvert - name: Run tests run: coverage run test/run_tests.py From 192b79cdf1d8224f592b9c0b8e573296bc21f621 Mon Sep 17 00:00:00 2001 From: seanebum Date: Tue, 26 Oct 2021 16:21:02 -0400 Subject: [PATCH 06/17] somehow forgot to include unittest wrapping --- test/test_notebooks.py | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/test/test_notebooks.py b/test/test_notebooks.py index 6d29af2f..cb133c8d 100644 --- a/test/test_notebooks.py +++ b/test/test_notebooks.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 ''' SpatialPy is a Python 3 package for simulation of spatial deterministic/stochastic reaction-diffusion-advection problems @@ -21,22 +20,26 @@ import nbformat from nbconvert.preprocessors import ExecutePreprocessor -errors = {} -ep = ExecutePreprocessor(timeout=600, kernel_name='python3', allow_errors=True) -for root, dirs, files in os.walk("../examples/"): - for file in files: - if file.endswith(".ipynb"): - with open(os.path.join(root, file)) as f: - print('Executing {}...'.format(file)) - nb = nbformat.read(f, as_version=nbformat.NO_CONVERT) - try: - ep.preprocess(nb, {'metadata': {'path': root}}) - except Exception as err: - print('Error executing the notebook "{}".\n\n'.format(file)) - errors[file] = err -for fname, err in errors.items(): - if len(err.__str__()) > 500: - print('{}:\n{}\n...\n{}'.format(fname, err.__str__()[:251], err.__str__()[-251:])) - else: - print('{}:\n{}'.format(fname, err)) + +class TestNotebooks(unittest.TestCase): + errors = {} + ep = ExecutePreprocessor(timeout=600, kernel_name='python3', allow_errors=True) + + def test_notebooks(self): + for root, dirs, files in os.walk("../examples/"): + for file in files: + if file.endswith(".ipynb"): + with open(os.path.join(root, file)) as f: + print('Executing {}...'.format(file)) + nb = nbformat.read(f, as_version=nbformat.NO_CONVERT) + try: + ep.preprocess(nb, {'metadata': {'path': root}}) + except Exception as err: + print('Error executing the notebook "{}".\n\n'.format(file)) + errors[file] = err + for fname, err in errors.items(): + if len(err.__str__()) > 500: + print('{}:\n{}\n...\n{}'.format(fname, err.__str__()[:251], err.__str__()[-251:])) + else: + print('{}:\n{}'.format(fname, err)) From d3c3e5d58fe120e2abb719c57f0a3b79423937d6 Mon Sep 17 00:00:00 2001 From: seanebum Date: Tue, 26 Oct 2021 16:25:56 -0400 Subject: [PATCH 07/17] and the import... --- test/test_notebooks.py | 1 + 1 file changed, 1 insertion(+) diff --git a/test/test_notebooks.py b/test/test_notebooks.py index cb133c8d..ff90c4e0 100644 --- a/test/test_notebooks.py +++ b/test/test_notebooks.py @@ -16,6 +16,7 @@ along with this program. If not, see . ''' +import unittest import os import nbformat from nbconvert.preprocessors import ExecutePreprocessor From 62a638537c96f797b0fb2c0dbef8855a37e54c47 Mon Sep 17 00:00:00 2001 From: seanebum Date: Tue, 26 Oct 2021 16:48:55 -0400 Subject: [PATCH 08/17] another oopsie fixie --- test/test_notebooks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_notebooks.py b/test/test_notebooks.py index ff90c4e0..63d55c9c 100644 --- a/test/test_notebooks.py +++ b/test/test_notebooks.py @@ -23,10 +23,10 @@ class TestNotebooks(unittest.TestCase): - errors = {} - ep = ExecutePreprocessor(timeout=600, kernel_name='python3', allow_errors=True) def test_notebooks(self): + errors = {} + ep = ExecutePreprocessor(timeout=600, kernel_name='python3', allow_errors=True) for root, dirs, files in os.walk("../examples/"): for file in files: if file.endswith(".ipynb"): From d0807179be261a166bb9a248ecf0e031700d9418 Mon Sep 17 00:00:00 2001 From: seanebum Date: Wed, 27 Oct 2021 13:08:25 -0400 Subject: [PATCH 09/17] added minimal test set to only run fast-running examples --- test/test_notebooks.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/test/test_notebooks.py b/test/test_notebooks.py index 63d55c9c..2556b6f6 100644 --- a/test/test_notebooks.py +++ b/test/test_notebooks.py @@ -25,11 +25,28 @@ class TestNotebooks(unittest.TestCase): def test_notebooks(self): + FULL = 0 + MINIMAL = 1 + test_set = MINIMAL errors = {} ep = ExecutePreprocessor(timeout=600, kernel_name='python3', allow_errors=True) - for root, dirs, files in os.walk("../examples/"): - for file in files: - if file.endswith(".ipynb"): + if test_set == FULL: + for root, dirs, files in os.walk("../examples/"): + for file in files: + if file.endswith(".ipynb"): + with open(os.path.join(root, file)) as f: + print('Executing {}...'.format(file)) + nb = nbformat.read(f, as_version=nbformat.NO_CONVERT) + try: + ep.preprocess(nb, {'metadata': {'path': root}}) + except Exception as err: + print('Error executing the notebook "{}".\n\n'.format(file)) + errors[file] = err + elif test_set == MINIMAL: + files = ['cylinderDemo/SpatialPy_cylinderDemo3D.ipynb', 'tests/Diffusion_validation.ipynb', + 'tests/Spatial_Birth_Death.ipynb'] + root = '../examples' + for file in files: with open(os.path.join(root, file)) as f: print('Executing {}...'.format(file)) nb = nbformat.read(f, as_version=nbformat.NO_CONVERT) From 638e0b5125a8e9dd5c828e97c9b0dbb505d3b596 Mon Sep 17 00:00:00 2001 From: seanebum Date: Wed, 27 Oct 2021 14:52:07 -0400 Subject: [PATCH 10/17] cleaned up paths --- test/test_notebooks.py | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/test/test_notebooks.py b/test/test_notebooks.py index 2556b6f6..23678b4c 100644 --- a/test/test_notebooks.py +++ b/test/test_notebooks.py @@ -31,7 +31,8 @@ def test_notebooks(self): errors = {} ep = ExecutePreprocessor(timeout=600, kernel_name='python3', allow_errors=True) if test_set == FULL: - for root, dirs, files in os.walk("../examples/"): + test_dir = os.path.join('..', 'examples') + for root, dirs, files in os.walk(test_dir): for file in files: if file.endswith(".ipynb"): with open(os.path.join(root, file)) as f: @@ -43,18 +44,19 @@ def test_notebooks(self): print('Error executing the notebook "{}".\n\n'.format(file)) errors[file] = err elif test_set == MINIMAL: - files = ['cylinderDemo/SpatialPy_cylinderDemo3D.ipynb', 'tests/Diffusion_validation.ipynb', - 'tests/Spatial_Birth_Death.ipynb'] - root = '../examples' - for file in files: - with open(os.path.join(root, file)) as f: - print('Executing {}...'.format(file)) - nb = nbformat.read(f, as_version=nbformat.NO_CONVERT) - try: - ep.preprocess(nb, {'metadata': {'path': root}}) - except Exception as err: - print('Error executing the notebook "{}".\n\n'.format(file)) - errors[file] = err + files = [os.path.join('cylinderDemo', 'SpatialPy_cylinderDemo3D.ipynb'), + os.path.join('tests', 'Diffusion_validation.ipynb'), + os.path.join('tests', 'Spatial_Birth_Death.ipynb'] + root = os.path.join('..', 'examples') + for file in files: + with open(os.path.join(root, file)) as f: + print('Executing {}...'.format(file)) + nb = nbformat.read(f, as_version=nbformat.NO_CONVERT) + try: + ep.preprocess(nb, {'metadata': {'path': root}}) + except Exception as err: + print('Error executing the notebook "{}".\n\n'.format(file)) + errors[file] = err for fname, err in errors.items(): if len(err.__str__()) > 500: print('{}:\n{}\n...\n{}'.format(fname, err.__str__()[:251], err.__str__()[-251:])) From bca51817d1795fab19eca498b2657503b8691be6 Mon Sep 17 00:00:00 2001 From: seanebum Date: Wed, 27 Oct 2021 14:55:35 -0400 Subject: [PATCH 11/17] fixed missing paren --- test/test_notebooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_notebooks.py b/test/test_notebooks.py index 23678b4c..919e9908 100644 --- a/test/test_notebooks.py +++ b/test/test_notebooks.py @@ -46,7 +46,7 @@ def test_notebooks(self): elif test_set == MINIMAL: files = [os.path.join('cylinderDemo', 'SpatialPy_cylinderDemo3D.ipynb'), os.path.join('tests', 'Diffusion_validation.ipynb'), - os.path.join('tests', 'Spatial_Birth_Death.ipynb'] + os.path.join('tests', 'Spatial_Birth_Death.ipynb')] root = os.path.join('..', 'examples') for file in files: with open(os.path.join(root, file)) as f: From dd3f8595c8a1780ac6adb61f87bd85cc0fe4015e Mon Sep 17 00:00:00 2001 From: seanebum Date: Wed, 27 Oct 2021 16:33:50 -0400 Subject: [PATCH 12/17] oops! forgot to add the actual assertion! --- test/test_notebooks.py | 1 + 1 file changed, 1 insertion(+) diff --git a/test/test_notebooks.py b/test/test_notebooks.py index 919e9908..4817cab2 100644 --- a/test/test_notebooks.py +++ b/test/test_notebooks.py @@ -62,4 +62,5 @@ def test_notebooks(self): print('{}:\n{}\n...\n{}'.format(fname, err.__str__()[:251], err.__str__()[-251:])) else: print('{}:\n{}'.format(fname, err)) + self.assertFalse(bool(errors)) From 3ba1ad1e7ab3093779dc758c3518198446356841 Mon Sep 17 00:00:00 2001 From: seanebum Date: Wed, 27 Oct 2021 16:42:14 -0400 Subject: [PATCH 13/17] trying another way to get parent directory... --- test/test_notebooks.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/test/test_notebooks.py b/test/test_notebooks.py index 4817cab2..b504461a 100644 --- a/test/test_notebooks.py +++ b/test/test_notebooks.py @@ -31,7 +31,7 @@ def test_notebooks(self): errors = {} ep = ExecutePreprocessor(timeout=600, kernel_name='python3', allow_errors=True) if test_set == FULL: - test_dir = os.path.join('..', 'examples') + test_dir = os.path.join(os.path.dirname(os.cwd()), 'examples') for root, dirs, files in os.walk(test_dir): for file in files: if file.endswith(".ipynb"): @@ -47,9 +47,10 @@ def test_notebooks(self): files = [os.path.join('cylinderDemo', 'SpatialPy_cylinderDemo3D.ipynb'), os.path.join('tests', 'Diffusion_validation.ipynb'), os.path.join('tests', 'Spatial_Birth_Death.ipynb')] - root = os.path.join('..', 'examples') + root = os.path.join(os.path.dirname(os.cwd()), 'examples') for file in files: - with open(os.path.join(root, file)) as f: + print(os.cwd) + with open(os.path.join(root, file)) as f: print('Executing {}...'.format(file)) nb = nbformat.read(f, as_version=nbformat.NO_CONVERT) try: From 1c2675e0df09f61d0e0075de726a9dbbdf3c7b4f Mon Sep 17 00:00:00 2001 From: seanebum Date: Thu, 28 Oct 2021 10:03:49 -0400 Subject: [PATCH 14/17] cleaning up test flow some --- test/test_notebooks.py | 45 ++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/test/test_notebooks.py b/test/test_notebooks.py index b504461a..435c7f7c 100644 --- a/test/test_notebooks.py +++ b/test/test_notebooks.py @@ -25,39 +25,39 @@ class TestNotebooks(unittest.TestCase): def test_notebooks(self): - FULL = 0 - MINIMAL = 1 + FULL, MINIMAL = 0, 1 test_set = MINIMAL + notebooks = {} errors = {} ep = ExecutePreprocessor(timeout=600, kernel_name='python3', allow_errors=True) + if test_set == FULL: - test_dir = os.path.join(os.path.dirname(os.cwd()), 'examples') - for root, dirs, files in os.walk(test_dir): + for root, dirs, files in os.walk("../examples/"): for file in files: if file.endswith(".ipynb"): with open(os.path.join(root, file)) as f: - print('Executing {}...'.format(file)) - nb = nbformat.read(f, as_version=nbformat.NO_CONVERT) - try: - ep.preprocess(nb, {'metadata': {'path': root}}) - except Exception as err: - print('Error executing the notebook "{}".\n\n'.format(file)) - errors[file] = err + print('Reading {}...'.format(file)) + notebooks[file] = nbformat.read(f, as_version=nbformat.NO_CONVERT) + elif test_set == MINIMAL: files = [os.path.join('cylinderDemo', 'SpatialPy_cylinderDemo3D.ipynb'), - os.path.join('tests', 'Diffusion_validation.ipynb'), - os.path.join('tests', 'Spatial_Birth_Death.ipynb')] - root = os.path.join(os.path.dirname(os.cwd()), 'examples') + os.path.join('tests', 'Diffusion_validation.ipynb'), + os.path.join('tests', 'Spatial_Birth_Death.ipynb')] + root = os.path.join(os.path.dirname(os.getcwd()), 'examples') for file in files: - print(os.cwd) with open(os.path.join(root, file)) as f: + print('Reading {}...'.format(file)) + notebooks[file] = nbformat.read(f, as_version=nbformat.NO_CONVERT) + + for file, nb in notebooks.items(): + with self.subTest(msg=file): + try: print('Executing {}...'.format(file)) - nb = nbformat.read(f, as_version=nbformat.NO_CONVERT) - try: - ep.preprocess(nb, {'metadata': {'path': root}}) - except Exception as err: - print('Error executing the notebook "{}".\n\n'.format(file)) - errors[file] = err + ep.preprocess(nb, {'metadata': {'path': root}}) + except Exception as err: + print('Error executing the notebook "{}".\n\n'.format(file)) + errors[file] = err + for fname, err in errors.items(): if len(err.__str__()) > 500: print('{}:\n{}\n...\n{}'.format(fname, err.__str__()[:251], err.__str__()[-251:])) @@ -65,3 +65,6 @@ def test_notebooks(self): print('{}:\n{}'.format(fname, err)) self.assertFalse(bool(errors)) + +if __name__ == '__main__': + unittest.main() From 4d9cf3914da823e5656b732ba35af6dbdd766261 Mon Sep 17 00:00:00 2001 From: seanebum Date: Thu, 28 Oct 2021 11:35:25 -0400 Subject: [PATCH 15/17] just trying something, because im not sure why the pathing is failing... --- test/test_notebooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_notebooks.py b/test/test_notebooks.py index 435c7f7c..8c43fa24 100644 --- a/test/test_notebooks.py +++ b/test/test_notebooks.py @@ -43,7 +43,7 @@ def test_notebooks(self): files = [os.path.join('cylinderDemo', 'SpatialPy_cylinderDemo3D.ipynb'), os.path.join('tests', 'Diffusion_validation.ipynb'), os.path.join('tests', 'Spatial_Birth_Death.ipynb')] - root = os.path.join(os.path.dirname(os.getcwd()), 'examples') + root = os.path.join('SpatialPy', 'examples') for file in files: with open(os.path.join(root, file)) as f: print('Reading {}...'.format(file)) From 6a82cd60adbf789c03bb3334d8774579e7991c1b Mon Sep 17 00:00:00 2001 From: seanebum Date: Wed, 9 Mar 2022 11:35:17 -0500 Subject: [PATCH 16/17] updates to run auto-nb runner with integration tests --- .github/workflows/run-integration-tests.yml | 3 +++ .github/workflows/run-unit-tests.yml | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run-integration-tests.yml b/.github/workflows/run-integration-tests.yml index 7ef06084..3abd8a9f 100644 --- a/.github/workflows/run-integration-tests.yml +++ b/.github/workflows/run-integration-tests.yml @@ -25,6 +25,9 @@ jobs: python3 -m pip install --upgrade pip python3 -m pip install -r requirements.txt python3 -m pip install coverage + python3 -m pip install nbformat + python3 -m pip install nbconvert - name: Run tests run: coverage run test/run_integration_tests.py + run: coverage run test/test_notebooks.py diff --git a/.github/workflows/run-unit-tests.yml b/.github/workflows/run-unit-tests.yml index 6f6c939d..cabdc656 100644 --- a/.github/workflows/run-unit-tests.yml +++ b/.github/workflows/run-unit-tests.yml @@ -23,8 +23,6 @@ jobs: python3 -m pip install --upgrade pip python3 -m pip install -r requirements.txt python3 -m pip install coverage - python3 -m pip install nbformat - python3 -m pip install nbconvert - name: Run tests run: coverage run test/run_unit_tests.py From a028fd2692c1c484ac5d1f9640982a501cef6342 Mon Sep 17 00:00:00 2001 From: seanebum Date: Wed, 9 Mar 2022 11:41:03 -0500 Subject: [PATCH 17/17] oops, this was already included in run-integration-tests --- .github/workflows/run-integration-tests.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/run-integration-tests.yml b/.github/workflows/run-integration-tests.yml index 3abd8a9f..28ce6bd9 100644 --- a/.github/workflows/run-integration-tests.yml +++ b/.github/workflows/run-integration-tests.yml @@ -30,4 +30,3 @@ jobs: - name: Run tests run: coverage run test/run_integration_tests.py - run: coverage run test/test_notebooks.py