Skip to content

Commit 22e2e52

Browse files
committed
Fix figures in HTML summary
1 parent f1b6cb3 commit 22e2e52

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

Diff for: pytest_mpl/plugin.py

+10-5
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,6 @@ def compare_image_to_baseline(self, item, fig, result_dir, summary=None):
483483

484484
test_image = (result_dir / f"result.{ext}").absolute()
485485
fig.savefig(str(test_image), **savefig_kwargs)
486-
summary['result_image'] = test_image.relative_to(self.results_dir).as_posix()
487486

488487
if not os.path.exists(baseline_image_ref):
489488
summary['status'] = 'failed'
@@ -500,7 +499,6 @@ def compare_image_to_baseline(self, item, fig, result_dir, summary=None):
500499
# copy to our tmpdir to be sure to keep them in case of failure
501500
baseline_image = (result_dir / f"baseline.{ext}").absolute()
502501
shutil.copyfile(baseline_image_ref, baseline_image)
503-
summary['baseline_image'] = baseline_image.relative_to(self.results_dir).as_posix()
504502

505503
# Compare image size ourselves since the Matplotlib
506504
# exception is a bit cryptic in this case and doesn't show
@@ -520,6 +518,14 @@ def compare_image_to_baseline(self, item, fig, result_dir, summary=None):
520518
return error_message
521519

522520
results = compare_images(str(baseline_image), str(test_image), tol=tolerance, in_decorator=True)
521+
522+
if ext in ['png', 'svg']: # Use original files
523+
summary['result_image'] = test_image.relative_to(self.results_dir).as_posix()
524+
summary['baseline_image'] = baseline_image.relative_to(self.results_dir).as_posix()
525+
else: # Use generated PNGs
526+
summary['result_image'] = Path(results['actual']).relative_to(self.results_dir).as_posix()
527+
summary['baseline_image'] = Path(results['expected']).relative_to(self.results_dir).as_posix()
528+
523529
summary['tolerance'] = tolerance
524530
if results is None:
525531
summary['status'] = 'passed'
@@ -530,8 +536,7 @@ def compare_image_to_baseline(self, item, fig, result_dir, summary=None):
530536
summary['status'] = 'failed'
531537
summary['image_status'] = 'diff'
532538
summary['rms'] = results['rms']
533-
diff_image = (result_dir / 'result-failed-diff.png').absolute()
534-
summary['diff_image'] = diff_image.relative_to(self.results_dir).as_posix()
539+
summary['diff_image'] = Path(results['diff']).relative_to(self.results_dir).as_posix()
535540
template = ['Error: Image files did not match.',
536541
'RMS Value: {rms}',
537542
'Expected: \n {expected}',
@@ -764,7 +769,7 @@ def pytest_unconfigure(self, config):
764769
if 'basic-html' in self.generate_summary:
765770
summary = generate_summary_basic_html(self._test_results, self.results_dir,
766771
**kwargs)
767-
print(f"A summary of test results can be found at: {summary}")
772+
print(f"A summar of test results can be found at: {summary}")
768773

769774

770775
class FigureCloser:

0 commit comments

Comments
 (0)