8000 Added machinery for the mpl_baseline package · matplotlib/matplotlib@c726906 · GitHub
[go: up one dir, main page]

Skip to content

Commit c726906

Browse files
Added machinery for the mpl_baseline package
1 parent 7a3c3c5 commit c726906

File tree

Expand file tree

17 files changed

+178
-46
lines changed

17 files changed

+178
-46
lines changed

.appveyor.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ test_script:
7575
# Now build the thing..
7676
- set LINK=/LIBPATH:%cd%\lib
7777
- pip install -ve .
78+
- cd sub-wheels/matplotlib-baseline-images && python -mpip install -ve .
79+
- cd ../..
7880
# this should show no freetype dll...
7981
- set "DUMPBIN=%VS140COMNTOOLS%\..\..\VC\bin\dumpbin.exe"
8082
- '"%DUMPBIN%" /DEPENDENTS lib\matplotlib\ft2font*.pyd | findstr freetype.*.dll && exit /b 1 || exit /b 0'

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,8 @@ install:
170170
fi
171171
- |
172172
python -mpip install -ve . # Install Matplotlib.
173+
cd sub-wheels/matplotlib-baseline-images && python -mpip install -ve .
174+
cd ../..
173175
- |
174176
if [[ $TRAVIS_OS_NAME != 'osx' ]]; then
175177
unset CPPFLAGS

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ recursive-include tutorials *
2121
include versioneer.py
2222
include lib/matplotlib/_version.py
2323
include tests.py
24+
prune sub-wheels

azure-pipelines.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,12 @@ steps:
103103
[[ "$PYTHON_VERSION" = 'Pre' ]]
104104
displayName: "Install self"
105105

106+
- bash: |
107+
cd sub-wheels/matplotlib-baseline-images
108+
python -m pip install -ve .
109+
cd ../..
110+
displayName: "Install matplotlib_baseline_images"
111+
106112
- script: env
107113
displayName: 'print env'
108114

doc/devel/testing.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,9 @@ The first time this test is run, there will be no baseline image to compare
148148
against, so the test will fail. Copy the output images (in this case
149149
:file:`result_images/test_lines/test_line_dashes.png`) to the correct
150150
subdirectory of :file:`baseline_images` tree in the source directory (in this
151-
case :file:`lib/matplotlib/tests/baseline_images/test_lines`). Put this new
152-
file under source code revision control (with ``git add``). When rerunning
153-
the tests, they should now pass.
151+
case :file:`sub-wheels/matplotlib-baseline-images/lib`). Put this new file
152+
under source code revision control (with ``git add``). When rerunning the
153+
tests, they should now pass.
154154

155155
Baseline images take a lot of space in the Matplotlib repository.
156156
An alternative approach for image comparison tests is to use the

lib/matplotlib/testing/decorators.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -482,7 +482,25 @@ def _image_directories(func):
482482
doesn't exist.
483483
"""
484484
module_path = Path(sys.modules[func.__module__].__file__)
485-
baseline_dir = module_path.parent / "baseline_images" / module_path.stem
485+
if func.__module__.startswith("matplotlib."):
486+
try:
487+
import matplotlib_baseline_images
488+
except:
489+
raise ImportError("Not able to import matplotlib_baseline_images")
490+
baseline_dir = (Path(matplotlib_baseline_images.__file__).parent /
491+
module_path.stem)
492+
elif func.__module__.startswith("mpl_toolkits."):
493+
try:
494+
import mpl_toolkits_baseline_images
495+
except:
496+
raise ImportError("Not able to import "
497+
"mpl_toolkits_baseline_images")
498+
baseline_dir = (Path(mpl_toolkits_baseline_images.__file__).parent /
499+
module_path.stem)
500+
else:
501+
baseline_dir = (module_path.parent /
502+
"baseline_images" /
503+
module_path.stem)
486504
result_dir = Path().resolve() / "result_images" / module_path.stem
487505
result_dir.mkdir(parents=True, exist_ok=True)
488506
return baseline_dir, result_dir

lib/matplotlib/tests/__init__.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
from pathlib import Path
2-
3-
4-
# Check that the test directories exist.
5-
if not (Path(__file__).parent / 'baseline_images').exists():
6-
raise IOError(
1+
# Check for the matplotlib_baseline_images.
2+
try:
3+
import matplotlib_baseline_images
4+
except:
5+
raise ImportError(
76
'The baseline image directory does not exist. '
87
'This is most likely because the test data is not installed. '
9-
'You may need to install matplotlib from source to get the '
8+
'You may need to install matplotlib_baseline_images to get the '
109
'test data.')

lib/mpl_toolkits/tests/__init__.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
from pathlib import Path
2-
3-
4-
# Check that the test directories exist
5-
if not (Path(__file__).parent / "baseline_images").exists():
6-
raise IOError(
1+
# Check for the mpl_toolkits_baseline_images.
2+
try:
3+
import mpl_toolkits_baseline_images
4+
except:
5+
raise ImportError(
76
'The baseline image directory does not exist. '
87
'This is most likely because the test data is not installed. '
9-
'You may need to install matplotlib from source to get the '
8+
'You may need to install mpl_toolkits_baseline_images to get the '
109
'test data.')

setup.cfg.template

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,8 @@
1414

1515
[packages]
1616
# There are a number of data subpackages from Matplotlib that are
17-
# considered optional. All except 'tests' data (meaning the baseline
18-
# image files) are installed by default, but that can be changed here.
19-
#tests = False
17+
# considered optional. Sample data are installed by default, but that can be
18+
# changed here.
2019
#sample_data = True
2120

2221
[gui_support]

setup.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@
5959
setupext.Platform(),
6060
setupext.FreeType(),
6161
setupext.SampleData(),
62-
setupext.Tests(),
6362
setupext.BackendMacOSX(),
6463
]
6564

0 commit comments

Comments
 (0)
0