@@ -431,7 +431,7 @@ def compare_image_to_baseline(self, item, fig, result_dir, summary=None):
431431
432432 test_image = (result_dir / "result.png" ).absolute ()
433433 fig .savefig (str (test_image ), ** savefig_kwargs )
434- summary ['result_image' ] = '%EXISTS%'
434+ summary ['result_image' ] = str ( test_image . relative_to ( self . results_dir ))
435435
436436 if not os .path .exists (baseline_image_ref ):
437437 summary ['status' ] = 'failed'
@@ -447,7 +447,7 @@ def compare_image_to_baseline(self, item, fig, result_dir, summary=None):
447447 # copy to our tmpdir to be sure to keep them in case of failure
448448 baseline_image = (result_dir / "baseline.png" ).absolute ()
449449 shutil .copyfile (baseline_image_ref , baseline_image )
450- summary ['baseline_image' ] = '%EXISTS%'
450+ summary ['baseline_image' ] = str ( baseline_image . relative_to ( self . results_dir ))
451451
452452 # Compare image size ourselves since the Matplotlib
453453 # 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):
472472 else :
473473 summary ['status' ] = 'failed'
474474 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 ))
476477 template = ['Error: Image files did not match.' ,
477478 'RMS Value: {rms}' ,
478479 'Expected: \n {expected}' ,
@@ -521,7 +522,7 @@ def compare_image_to_hash_library(self, item, fig, result_dir, summary=None):
521522 # Save the figure for later summary (will be removed later if not needed)
522523 test_image = (result_dir / "result.png" ).absolute ()
523524 fig .savefig (str (test_image ), ** savefig_kwargs )
524- summary ['result_image' ] = '%EXISTS%'
525+ summary ['result_image' ] = str ( test_image . relative_to ( self . results_dir ))
525526
526527 if not new_test :
527528 if test_hash == hash_library [hash_name ]:
@@ -572,8 +573,6 @@ def compare_image_to_hash_library(self, item, fig, result_dir, summary=None):
572573 summary ['status_msg' ] = error_message
573574 return error_message
574575
575- summary ['baseline_image' ] = '%EXISTS%'
576-
577576 # Override the tolerance (if not explicitly set) to 0 as the hashes are not forgiving
578577 tolerance = compare .kwargs .get ('tolerance' , None )
579578 if not tolerance :
@@ -673,7 +672,7 @@ def item_function_wrapper(*args, **kwargs):
673672 if not self .results_always :
674673 shutil .rmtree (result_dir )
675674 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
677676 else :
678677 self ._test_results [str (pathify (test_name ))] = summary
679678 pytest .fail (msg , pytrace = False )
@@ -704,21 +703,6 @@ def pytest_unconfigure(self, config):
704703 json .dump (self ._generated_hash_library , fp , indent = 2 )
705704
706705 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-
722706 if 'json' in self .generate_summary :
723707 summary = self .generate_summary_json ()
724708 print (f"A JSON report can be found at: { summary } " )
0 commit comments