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 e45c4ac6978..5f0078dd89f 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 +import pathlib import re import pytest @@ -74,17 +75,19 @@ 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 = 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'): + 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]]: