@@ -699,11 +699,16 @@ def test_formats(pytester, use_hash_library, passes, file_format):
699699
700700 if file_format == 'png' :
701701 metadata = '{"Software": None}'
702- else :
703- metadata = '{}'
702+ elif file_format == 'pdf' :
703+ metadata = '{"Creator": None, "Producer": None, "CreationDate": None}'
704+ elif file_format == 'eps' :
705+ metadata = '{"Creator": None}'
706+ elif file_format == 'svg' :
707+ metadata = '{"Date": None}'
704708
705709 pytester .makepyfile (
706710 f"""
711+ import os
707712 import pytest
708713 import matplotlib.pyplot as plt
709714 @pytest.mark.mpl_image_compare(baseline_dir=r"{ baseline_dir_abs } ",
@@ -712,6 +717,13 @@ def test_formats(pytester, use_hash_library, passes, file_format):
712717 savefig_kwargs={{'format': '{ file_format } ',
713718 'metadata': { metadata } }})
714719 def test_format_{ file_format } ():
720+
721+ # For reproducible EPS output
722+ os.environ['SOURCE_DATE_EPOCH'] = '1680254601'
723+
724+ # For reproducible SVG output
725+ plt.rcParams['svg.hashsalt'] = 'test'
726+
715727 fig = plt.figure()
716728 ax = fig.add_subplot(1, 1, 1)
717729 ax.plot([{ 1 if passes else 3 } , 2, 3])
0 commit comments