Add pytest-mpl image comparison tests and update CI workflow #413
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This will finally add robust image comparison testing to proplot using matplotlib/pytest-mpl.
Inside
tests
, I declare several functions developed from my own ad hoc jupyter notebook tests. These will be automatically detected + run bypytest
, with image comparisons carried out bypytest-mpl
. Further, insidetests/test_docs.py
, I dynamically create testing functions from the rst-style python files indocs
usingjupytext
, so thatpytest-mpl
can perform image comparisons on the documentation examples alongside the other testing files. So, the travis CI no longer compiles the documentation withmake html
-- instead, the existing readthedocs workflow does this, and it should also now be enabled for new pull requests (if not, will try to figure out soon). I also use a fork ofpytest-mpl
to support comparing arbitrary figures created by each testing function (i.e., without explicitly returning figure objects; see this branch).This work was done quite a while ago -- has just been sitting on my machine. Would like to merge it this spring.