From ac50acca36824f85a4dfd6b6f6c80b646d94f1d1 Mon Sep 17 00:00:00 2001 From: Craig Gidney Date: Wed, 9 Oct 2019 23:50:28 -0700 Subject: [PATCH 1/3] Fix `snippets_test` not recursing into sub-directorries of docs/ --- docs/snippets_test.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/docs/snippets_test.py b/docs/snippets_test.py index e45c4ac6978..c6870f7d546 100644 --- a/docs/snippets_test.py +++ b/docs/snippets_test.py @@ -55,9 +55,10 @@ """ import inspect import sys -from typing import Any, Dict, List, Pattern, Tuple +from typing import Any, Dict, List, Pattern, Tuple, Iterator import os +from pathlib import Path import re import pytest @@ -74,17 +75,20 @@ def test_can_run_readme_code_snippets(): assert_file_has_working_code_snippets(readme_path, assume_import=False) -def find_docs_code_snippets_paths(): - docs_folder = os.path.dirname(__file__) - for filename in os.listdir(docs_folder): - if not filename.endswith('.md') and not filename.endswith('.rst'): - continue - yield os.path.join(docs_folder, filename) +def find_docs_code_snippets_paths() -> Iterator[str]: + docs_folder = Path(__file__).parent + for filename in docs_folder.rglob('*.md'): + yield str(filename.relative_to(docs_folder)) + for filename in docs_folder.rglob('*.rst'): + yield str(filename.relative_to(docs_folder)) @pytest.mark.parametrize('path', find_docs_code_snippets_paths()) def test_can_run_docs_code_snippets(path): - assert_file_has_working_code_snippets(path, assume_import=True) + docs_folder = os.path.dirname(__file__) + assert_file_has_working_code_snippets( + os.path.join(docs_folder, path), + assume_import=True) def find_code_snippets(pattern: str, content: str) -> List[Tuple[str, int]]: From 58fde4b3e4b612c35f8e18c7485ad533e7e08d74 Mon Sep 17 00:00:00 2001 From: Craig Gidney Date: Thu, 10 Oct 2019 00:04:30 -0700 Subject: [PATCH 2/3] format --- docs/snippets_test.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/snippets_test.py b/docs/snippets_test.py index c6870f7d546..d2d537e9918 100644 --- a/docs/snippets_test.py +++ b/docs/snippets_test.py @@ -86,9 +86,8 @@ def find_docs_code_snippets_paths() -> Iterator[str]: @pytest.mark.parametrize('path', find_docs_code_snippets_paths()) def test_can_run_docs_code_snippets(path): docs_folder = os.path.dirname(__file__) - assert_file_has_working_code_snippets( - os.path.join(docs_folder, path), - assume_import=True) + assert_file_has_working_code_snippets(os.path.join(docs_folder, path), + assume_import=True) def find_code_snippets(pattern: str, content: str) -> List[Tuple[str, int]]: From 895bcdd417bcdecdcb2e2847f2e657cfede50045 Mon Sep 17 00:00:00 2001 From: Craig Gidney Date: Thu, 10 Oct 2019 14:28:03 -0700 Subject: [PATCH 3/3] pathlib, fix plotting snippet --- docs/dev/plotting.md | 1 + docs/snippets_test.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/dev/plotting.md b/docs/dev/plotting.md index 57257ebebaf..de6c0bf4b75 100644 --- a/docs/dev/plotting.md +++ b/docs/dev/plotting.md @@ -28,6 +28,7 @@ interactive session. The recommended way to achieve that is illustrated in the example below. ```python +from typing import Any, List import matplotlib.pyplot as plt class Foo: diff --git a/docs/snippets_test.py b/docs/snippets_test.py index d2d537e9918..5f0078dd89f 100644 --- a/docs/snippets_test.py +++ b/docs/snippets_test.py @@ -58,7 +58,7 @@ from typing import Any, Dict, List, Pattern, Tuple, Iterator import os -from pathlib import Path +import pathlib import re import pytest @@ -76,7 +76,7 @@ def test_can_run_readme_code_snippets(): def find_docs_code_snippets_paths() -> Iterator[str]: - docs_folder = Path(__file__).parent + docs_folder = pathlib.Path(__file__).parent for filename in docs_folder.rglob('*.md'): yield str(filename.relative_to(docs_folder)) for filename in docs_folder.rglob('*.rst'):