@@ -431,7 +431,7 @@ def compare_image_to_baseline(self, item, fig, result_dir, summary=None):
431
431
432
432
test_image = (result_dir / "result.png" ).absolute ()
433
433
fig .savefig (str (test_image ), ** savefig_kwargs )
434
- summary ['result_image' ] = '%EXISTS%'
434
+ summary ['result_image' ] = str ( test_image . relative_to ( self . results_dir ))
435
435
436
436
if not os .path .exists (baseline_image_ref ):
437
437
summary ['status' ] = 'failed'
@@ -447,7 +447,7 @@ def compare_image_to_baseline(self, item, fig, result_dir, summary=None):
447
447
# copy to our tmpdir to be sure to keep them in case of failure
448
448
baseline_image = (result_dir / "baseline.png" ).absolute ()
449
449
shutil .copyfile (baseline_image_ref , baseline_image )
450
- summary ['baseline_image' ] = '%EXISTS%'
450
+ summary ['baseline_image' ] = str ( baseline_image . relative_to ( self . results_dir ))
451
451
452
452
# Compare image size ourselves since the Matplotlib
453
453
# exception is a bit cryptic in this case and doesn't show
@@ -472,7 +472,8 @@ def compare_image_to_baseline(self, item, fig, result_dir, summary=None):
472
472
else :
473
473
summary ['status' ] = 'failed'
474
474
summary ['rms' ] = results ['rms' ]
475
- summary ['diff_image' ] = '%EXISTS%'
475
+ diff_image = (result_dir / 'result-failed-diff.png' ).absolute ()
476
+ summary ['diff_image' ] = str (diff_image .relative_to (self .results_dir ))
476
477
template = ['Error: Image files did not match.' ,
477
478
'RMS Value: {rms}' ,
478
479
'Expected: \n {expected}' ,
@@ -521,7 +522,7 @@ def compare_image_to_hash_library(self, item, fig, result_dir, summary=None):
521
522
# Save the figure for later summary (will be removed later if not needed)
522
523
test_image = (result_dir / "result.png" ).absolute ()
523
524
fig .savefig (str (test_image ), ** savefig_kwargs )
524
- summary ['result_image' ] = '%EXISTS%'
525
+ summary ['result_image' ] = str ( test_image . relative_to ( self . results_dir ))
525
526
526
527
if not new_test :
527
528
if test_hash == hash_library [hash_name ]:
@@ -572,8 +573,6 @@ def compare_image_to_hash_library(self, item, fig, result_dir, summary=None):
572
573
summary ['status_msg' ] = error_message
573
574
return error_message
574
575
575
- summary ['baseline_image' ] = '%EXISTS%'
576
-
577
576
# Override the tolerance (if not explicitly set) to 0 as the hashes are not forgiving
578
577
tolerance = compare .kwargs .get ('tolerance' , None )
579
578
if not tolerance :
@@ -673,7 +672,7 @@ def item_function_wrapper(*args, **kwargs):
673
672
if not self .results_always :
674
673
shutil .rmtree (result_dir )
675
674
for image_type in ['baseline_image' , 'diff_image' , 'result_image' ]:
676
- summary [image_type ] = None # image no longer %EXISTS%
675
+ summary [image_type ] = None # image no longer exists
677
676
else :
678
677
self ._test_results [str (pathify (test_name ))] = summary
679
678
pytest .fail (msg , pytrace = False )
@@ -704,21 +703,6 @@ def pytest_unconfigure(self, config):
704
703
json .dump (self ._generated_hash_library , fp , indent = 2 )
705
704
706
705
if self .generate_summary :
707
- # Generate a list of test directories
708
- dir_list = [p .relative_to (self .results_dir )
709
- for p in self .results_dir .iterdir () if p .is_dir ()]
710
-
711
- # Resolve image paths
712
- for directory in dir_list :
713
- test_name = directory .parts [- 1 ]
714
- for image_type , filename in [
715
- ('baseline_image' , 'baseline.png' ),
716
- ('diff_image' , 'result-failed-diff.png' ),
717
- ('result_image' , 'result.png' ),
718
- ]:
719
- if self ._test_results [test_name ][image_type ] == '%EXISTS%' :
720
- self ._test_results [test_name ][image_type ] = str (directory / filename )
721
-
722
706
if 'json' in self .generate_summary :
723
707
summary = self .generate_summary_json ()
724
708
print (f"A JSON report can be found at: { summary } " )
0 commit comments