🌐 AI搜索 & 代理 主页
Skip to content

Commit cd7dda9

Browse files
[WIP]fixing matplotlib generation flag for ALL images
1 parent 2aba426 commit cd7dda9

File tree

6 files changed

+17
-17
lines changed

6 files changed

+17
-17
lines changed

lib/matplotlib/testing/decorators.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ def copy_baseline(self, baseline, extension):
205205
f"{orig_expected_path}") from err
206206
return expected_fname
207207

208-
def compare(self, idx, baseline, extension, *, _lock=False):
208+
def compare(self, idx, baseline, extension, *, _lock=False, generating=False):
209209
__tracebackhide__ = True
210210
fignum = plt.get_fignums()[idx]
211211
fig = plt.figure(fignum)
@@ -222,9 +222,12 @@ def compare(self, idx, baseline, extension, *, _lock=False):
222222

223223
lock = cbook._lock_path(actual_path) if _lock else nullcontext()
224224
with lock:
225-
fig.savefig(actual_path, **kwargs)
226-
expected_path = self.copy_baseline(baseline, extension)
227-
_raise_on_image_difference(expected_path, actual_path, self.tol)
225+
if(generating):
226+
fig.savefig(actual_path, **kwargs)
227+
else:
228+
fig.savefig(actual_path, **kwargs)
229+
expected_path = self.copy_baseline(baseline, extension)
230+
_raise_on_image_difference(expected_path, actual_path, self.tol)
228231

229232

230233
def _pytest_image_comparison(baseline_images, extensions, tol,
@@ -255,6 +258,7 @@ def wrapper(*args, extension, request, **kwargs):
255258
kwargs['extension'] = extension
256259
if 'request' in old_sig.parameters:
257260
kwargs['request'] = request
261+
matplotlib_baseline_image_generation = request.config.getoption("--matplotlib_baseline_image_generation")
258262

259263
img = _ImageComparisonBase(func, tol=tol, remove_text=remove_text,
260264
savefig_kwargs=savefig_kwargs)
@@ -280,7 +284,7 @@ def wrapper(*args, extension, request, **kwargs):
280284
"Test generated {} images but there are {} baseline images"
281285
.format(len(plt.get_fignums()), len(our_baseline_images)))
282286
for idx, baseline in enumerate(our_baseline_images):
283-
img.compare(idx, baseline, extension, _lock=needs_lock)
287+
img.compare(idx, baseline, extension, _lock=needs_lock, generating=matplotlib_baseline_image_generation)
284288

285289
parameters = list(old_sig.parameters.values())
286290
if 'extension' not in old_sig.parameters:

lib/matplotlib/tests/test_agg.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ def test_long_path():
8080
fig.savefig(buff, format='png')
8181

8282

83-
@pytest.mark.matplotlib_baseline_image_generation
8483
@image_comparison(['agg_filter.png'], remove_text=True)
8584
def test_agg_filter():
8685
def smooth1d(x, window_len):

lib/matplotlib/tests/test_agg_filter.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
from matplotlib.testing.decorators import image_comparison
55

66

7-
@pytest.mark.baseline_image_generation_test
87
@image_comparison(baseline_images=['agg_filter_alpha'],
98
extensions=['png', 'pdf'])
109
def test_agg_filter_alpha():

lib/mpl_toolkits/tests/__init__.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +0,0 @@
1-
# Check for the mpl_toolkits_baseline_images.
2-
try:
3-
import mpl_toolkits_baseline_images
4-
except:
5-
raise ImportError(
6-
'The baseline image directory does not exist. '
7-
'This is most likely because the test data is not installed. '
8-
'You may need to install mpl_toolkits_baseline_images to get the '
9-
'test data.')

lib/mpl_toolkits/tests/conftest.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
from matplotlib.testing.conftest import (mpl_test_settings,
22
mpl_image_comparison_parameters,
3-
pytest_configure, pytest_unconfigure)
3+
pytest_configure, pytest_unconfigure, pytest_addoption, pytest_configure,
4+
pytest_collection_modifyitems)

prog.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import argparse
2+
parser = argparse.ArgumentParser()
3+
parser.add_argument("matplotlib_baseline_images_generation_mode", type=int,
4+
help="Set the test suite in baseline image generation mode if value is 1 else set the test suite in")
5+
args = parser.parse_args()
6+
print(args.matplotlib_baseline_images_generation_mode)

0 commit comments

Comments
 (0)