matplotlib.testing
¶matplotlib.testing
¶Helper functions for testing.
matplotlib.testing.compare
¶Provides a collection of utilities for comparing (image) results.
matplotlib.testing.compare.
compare_float
(expected, actual, relTol=None, absTol=None)[source]¶[Deprecated] Fail if the floating point values are not close enough, with the given message.
You can specify a relative tolerance, absolute tolerance, or both.
Notes
Deprecated since version 3.0.
matplotlib.testing.compare.
compare_images
(expected, actual, tol, in_decorator=False)[source]¶Compare two "image" files checking differences within a tolerance.
The two given filenames may point to files which are convertible to
PNG via the converter
dictionary. The underlying RMS is calculated
with the calculate_rms
function.
Parameters: |
|
---|---|
Returns: |
|
Examples
img1 = "./baseline/plot.png"
img2 = "./output/plot.png"
compare_images(img1, img2, 0.001)
matplotlib.testing.compare.
comparable_formats
()[source]¶Return the list of file formats that compare_images
can compare
on this system.
Returns: |
|
---|
matplotlib.testing.decorators
¶matplotlib.testing.decorators.
CleanupTest
(**kwargs)[source]¶Bases: object
[Deprecated]
Notes
Deprecated since version 3.0:
setup_class
()¶teardown_class
()¶matplotlib.testing.decorators.
CleanupTestCase
(methodName='runTest')[source]¶Bases: unittest.case.TestCase
A wrapper for unittest.TestCase that includes cleanup operations.
Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.
matplotlib.testing.decorators.
ImageComparisonTest
(**kwargs)[source]¶Bases: matplotlib.testing.decorators.CleanupTest
, matplotlib.testing.decorators._ImageComparisonBase
[Deprecated] Nose-based image comparison class
This class generates tests for a nose-based testing framework. Ideally,
this class would not be public, and the only publicly visible API would
be the image_comparison()
decorator. Unfortunately, there are
existing downstream users of this class (e.g., pytest-mpl) so it cannot yet
be removed.
Notes
Deprecated since version 3.0.
matplotlib.testing.decorators.
check_figures_equal
(*, extensions=('png', 'pdf', 'svg'), tol=0)[source]¶Decorator for test cases that generate and compare two figures.
The decorated function must take two arguments, fig_test and fig_ref, and draw the test and reference images on them. After the function returns, the figures are saved and compared.
This decorator should be preferred over image_comparison
when possible in
order to keep the size of the test suite from ballooning.
Parameters: |
|
---|
Examples
Check that calling Axes.plot
with a single argument plots it against
[0, 1, 2, ...]
:
@check_figures_equal()
def test_plot(fig_test, fig_ref):
fig_test.subplots().plot([1, 3, 5])
fig_ref.subplots().plot([0, 1, 2], [1, 3, 5])
matplotlib.testing.decorators.
cleanup
(style=None)[source]¶A decorator to ensure that any global state is reset before running a test.
Parameters: |
|
---|
matplotlib.testing.decorators.
image_comparison
(baseline_images, extensions=None, tol=0, freetype_version=None, remove_text=False, savefig_kwarg=None, style='_classic_test')[source]¶Compare images generated by the test with those specified in
baseline_images, which must correspond, else an ImageComparisonFailure
exception will be raised.
Parameters: |
|
---|
[Deprecated] skips a test if a command is unavailable.
Parameters: |
|
---|
Notes
Deprecated since version 3.0.
matplotlib.testing.disable_internet
¶matplotlib.testing.disable_internet.
check_internet_off
(original_function)[source]¶Wraps original_function
, which in most cases is assumed
to be a socket.socket
method, to raise an IOError
for any operations
on non-local AF_INET sockets.
matplotlib.testing.disable_internet.
no_internet
(verbose=False)[source]¶Context manager to temporarily disable internet access (if not already
disabled). If it was already disabled before entering the context manager
(i.e. turn_off_internet
was called previously) then this is a no-op and
leaves internet access disabled until a manual call to turn_on_internet
.
matplotlib.testing.disable_internet.
turn_off_internet
(verbose=False)[source]¶Disable internet access via python by preventing connections from being created using the socket module. Presumably this could be worked around by using some other means of accessing the internet, but all default python modules (urllib, requests, etc.) use socket [citation needed].
matplotlib.testing.exceptions
¶matplotlib.testing.exceptions.
ImageComparisonFailure
[source]¶Bases: AssertionError
Raise this exception to mark a test as a comparison between two images.