From 1155f42418be6bec858e573c5dd253147c877440 Mon Sep 17 00:00:00 2001 From: Conor MacBride Date: Fri, 27 May 2022 15:54:57 +0100 Subject: [PATCH 1/8] Automatically apply regex and remove specific hashes --- tests/subtests/helpers.py | 33 +++++++ tests/subtests/summaries/test_generate.json | 34 ++++---- .../summaries/test_generate_hashes_only.json | 34 ++++---- tests/subtests/summaries/test_hash.json | 86 +++++++++---------- .../summaries/test_html_generate.json | 34 ++++---- .../test_html_generate_hashes_only.json | 34 ++++---- .../summaries/test_html_hashes_only.json | 86 +++++++++---------- tests/subtests/summaries/test_hybrid.json | 86 +++++++++---------- .../summaries/test_results_always.json | 86 +++++++++---------- tests/subtests/test_subtest.py | 23 ++++- 10 files changed, 295 insertions(+), 241 deletions(-) diff --git a/tests/subtests/helpers.py b/tests/subtests/helpers.py index 0f345f03..9badb38a 100644 --- a/tests/subtests/helpers.py +++ b/tests/subtests/helpers.py @@ -255,3 +255,36 @@ def apply_regex(file, regex_paths, regex_strs): with open(file, 'w') as f: json.dump(summary, f, indent=2) + + +def remove_specific_hashes(summary_file): + """Replace all hashes in a summary file with placeholder values. + + This is done because the actual hashes used for testing are taken from + separate files for each specific matplotlib version. + """ + + baseline_placeholder = "###_BASELINE_HASH_###" + result_placeholder = "###_RESULT_HASH_###" + + with open(summary_file, "r") as f: + summary = json.load(f) + + for test in summary.keys(): + + # Get actual hashes + baseline = summary[test]["baseline_hash"] + result = summary[test]["result_hash"] + + # Replace with placeholders (if summary has hashes) + if baseline is not None: + summary[test]["baseline_hash"] = baseline_placeholder + summary[test]["status_msg"] = \ + summary[test]["status_msg"].replace(baseline, baseline_placeholder) + if result is not None: + summary[test]["result_hash"] = result_placeholder + summary[test]["status_msg"] = \ + summary[test]["status_msg"].replace(result, result_placeholder) + + with open(summary_file, "w") as f: + json.dump(summary, f, indent=2) diff --git a/tests/subtests/summaries/test_generate.json b/tests/subtests/summaries/test_generate.json index 401081a8..04a1d288 100644 --- a/tests/subtests/summaries/test_generate.json +++ b/tests/subtests/summaries/test_generate.json @@ -9,7 +9,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "4a47c9b7920779cc83eabe2bbb64b9c40745d9d8abfa57857f93a5d8f12a5a03", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmatch_idiff": { @@ -22,7 +22,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "2b48790b0a2cee4b41cdb9820336acaf229ba811ae21c6a92b4b92838843adfa", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmatch_idiffshape": { @@ -35,7 +35,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "e3fed4ad2d22aff2cd771c5503dcb30c6161b21d154430ededa5faa1ec54366e", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmatch_imissing": { @@ -48,7 +48,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "e937fa1997d088c904ca35b1ab542e2285ea47b84df976490380f9c5f5b5f8ae", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch": { @@ -61,7 +61,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "2cae8f315d44b06de8f45d937af46a67bd1389edd6e4cde32f9feb4b7472284f", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_idiff": { @@ -74,7 +74,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "927521206ef454a25417e3ba0bd3235c84518cb202c2d1fa7afcfdfcde5fdcde", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_idiffshape": { @@ -87,7 +87,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "5d37745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imissing": { @@ -100,7 +100,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "afc411cfa34db3a5819ac4127704e86acf27d24d1ea2410718853d3d7e1d6ae0", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_imatch": { @@ -113,7 +113,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "7ee8370efdc4b767634d12355657ca4f2460176670c07b31f3fb72cea0e79856", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_idiff": { @@ -126,7 +126,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "4eeda1d349f4b0f26df97df41ba5410dce2b1c7ed520062d58f3c5f0e3790ebd", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_idiffshape": { @@ -139,7 +139,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "204d43b643538cafafa2d0fb7dafac9cf7009dbb421d4b32c71da2e400ceb59d", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_imissing": { @@ -152,7 +152,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "5101e60ac100cf2c2f418a0a6a382aae0060339e76718730344f539b61f7dc7e", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_tolerance": { @@ -165,7 +165,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "510b3273d63a2a26a27e788ff0f090e86c9df7f9f191b7c566321c57de8266d6", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_idiff_tolerance": { @@ -178,7 +178,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "510b3273d63a2a26a27e788ff0f090e86c9df7f9f191b7c566321c57de8266d6", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_savefig": { @@ -191,7 +191,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "8864803a4b4026d8c6dc0ab950228793ea255cd9b6c629c39db9e6315a9af6bc", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_style": { @@ -204,7 +204,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "e3c8de36c2bad7dca131e4cbbfe229f882b5beec62750fb7da29314fd6a1ff13", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_removetext": { @@ -217,7 +217,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "e4c06cf613c6836c1b1202abaae69cf65bc2232a8e31ab1040454bedc8e31e7a", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null } } diff --git a/tests/subtests/summaries/test_generate_hashes_only.json b/tests/subtests/summaries/test_generate_hashes_only.json index a53ef2ca..af11c116 100644 --- a/tests/subtests/summaries/test_generate_hashes_only.json +++ b/tests/subtests/summaries/test_generate_hashes_only.json @@ -9,7 +9,7 @@ "rms": null, "tolerance": 2, "result_image": null, - "baseline_hash": "4a47c9b7920779cc83eabe2bbb64b9c40745d9d8abfa57857f93a5d8f12a5a03", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmatch_idiff": { @@ -22,7 +22,7 @@ "rms": 11.100353848213828, "tolerance": 2, "result_image": "subtests.subtest.test_hmatch_idiff/result.png", - "baseline_hash": "2b48790b0a2cee4b41cdb9820336acaf229ba811ae21c6a92b4b92838843adfa", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmatch_idiffshape": { @@ -35,7 +35,7 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmatch_idiffshape/result.png", - "baseline_hash": "e3fed4ad2d22aff2cd771c5503dcb30c6161b21d154430ededa5faa1ec54366e", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmatch_imissing": { @@ -48,7 +48,7 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmatch_imissing/result.png", - "baseline_hash": "e937fa1997d088c904ca35b1ab542e2285ea47b84df976490380f9c5f5b5f8ae", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch": { @@ -61,7 +61,7 @@ "rms": null, "tolerance": 2, "result_image": null, - "baseline_hash": "2cae8f315d44b06de8f45d937af46a67bd1389edd6e4cde32f9feb4b7472284f", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_idiff": { @@ -74,7 +74,7 @@ "rms": 11.182677079602481, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_idiff/result.png", - "baseline_hash": "927521206ef454a25417e3ba0bd3235c84518cb202c2d1fa7afcfdfcde5fdcde", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_idiffshape": { @@ -87,7 +87,7 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_idiffshape/result.png", - "baseline_hash": "5d37745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imissing": { @@ -100,7 +100,7 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imissing/result.png", - "baseline_hash": "afc411cfa34db3a5819ac4127704e86acf27d24d1ea2410718853d3d7e1d6ae0", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_imatch": { @@ -113,7 +113,7 @@ "rms": null, "tolerance": 2, "result_image": null, - "baseline_hash": "7ee8370efdc4b767634d12355657ca4f2460176670c07b31f3fb72cea0e79856", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_idiff": { @@ -126,7 +126,7 @@ "rms": 12.12938597648977, "tolerance": 2, "result_image": "subtests.subtest.test_hmissing_idiff/result.png", - "baseline_hash": "4eeda1d349f4b0f26df97df41ba5410dce2b1c7ed520062d58f3c5f0e3790ebd", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_idiffshape": { @@ -139,7 +139,7 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_idiffshape/result.png", - "baseline_hash": "204d43b643538cafafa2d0fb7dafac9cf7009dbb421d4b32c71da2e400ceb59d", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_imissing": { @@ -152,7 +152,7 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_imissing/result.png", - "baseline_hash": "5101e60ac100cf2c2f418a0a6a382aae0060339e76718730344f539b61f7dc7e", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_tolerance": { @@ -165,7 +165,7 @@ "rms": null, "tolerance": 200, "result_image": null, - "baseline_hash": "510b3273d63a2a26a27e788ff0f090e86c9df7f9f191b7c566321c57de8266d6", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_idiff_tolerance": { @@ -178,7 +178,7 @@ "rms": 29.260332173249314, "tolerance": 3, "result_image": "subtests.subtest.test_hdiff_idiff_tolerance/result.png", - "baseline_hash": "510b3273d63a2a26a27e788ff0f090e86c9df7f9f191b7c566321c57de8266d6", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_savefig": { @@ -191,7 +191,7 @@ "rms": null, "tolerance": 2, "result_image": null, - "baseline_hash": "8864803a4b4026d8c6dc0ab950228793ea255cd9b6c629c39db9e6315a9af6bc", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_style": { @@ -204,7 +204,7 @@ "rms": null, "tolerance": 2, "result_image": null, - "baseline_hash": "e3c8de36c2bad7dca131e4cbbfe229f882b5beec62750fb7da29314fd6a1ff13", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_removetext": { @@ -217,7 +217,7 @@ "rms": null, "tolerance": 2, "result_image": null, - "baseline_hash": "e4c06cf613c6836c1b1202abaae69cf65bc2232a8e31ab1040454bedc8e31e7a", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null } } diff --git a/tests/subtests/summaries/test_hash.json b/tests/subtests/summaries/test_hash.json index ac51e659..785103b5 100644 --- a/tests/subtests/summaries/test_hash.json +++ b/tests/subtests/summaries/test_hash.json @@ -9,8 +9,8 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "573f4c1482192b7b15bbe4f2bd370ae3b5ab40c9afa441543b87e15a71e9f672", - "result_hash": "573f4c1482192b7b15bbe4f2bd370ae3b5ab40c9afa441543b87e15a71e9f672" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmatch_idiff": { "status": "passed", @@ -22,8 +22,8 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "8b5c00365e6f784d5c8947091f09a92fd7d222e790431f297b4848f173e64857", - "result_hash": "8b5c00365e6f784d5c8947091f09a92fd7d222e790431f297b4848f173e64857" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmatch_idiffshape": { "status": "passed", @@ -35,8 +35,8 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "e3fed4ad2d22aff2cd771c5503dcb30c6161b21d154430ededa5faa1ec54366e", - "result_hash": "e3fed4ad2d22aff2cd771c5503dcb30c6161b21d154430ededa5faa1ec54366e" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmatch_imissing": { "status": "passed", @@ -48,176 +48,176 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "fd069e642e3b154c24077a4996b545e1c4dbffdbed34ea5ad34c7b36873af68f", - "result_hash": "fd069e642e3b154c24077a4996b545e1c4dbffdbed34ea5ad34c7b36873af68f" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch": { "status": "failed", - "status_msg": "REGEX:Hash 6e2fdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1 doesn't match hash d1ffdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imatch/result.png", - "baseline_hash": "d1ffdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1", - "result_hash": "6e2fdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_idiff": { "status": "failed", - "status_msg": "REGEX:Hash 443361bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43 doesn't match hash d1ff61bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_idiff/result.png", - "baseline_hash": "d1ff61bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43", - "result_hash": "443361bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_idiffshape": { "status": "failed", "image_status": null, "hash_status": "diff", - "status_msg": "REGEX:Hash 5d37745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580 doesn't match hash d1ff745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiffshape\\.", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiffshape\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_idiffshape/result.png", - "baseline_hash": "d1ff745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580", - "result_hash": "5d37745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imissing": { "status": "failed", - "status_msg": "REGEX:Hash 301e63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e doesn't match hash d1ff63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imissing\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imissing\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imissing/result.png", - "baseline_hash": "d1ff63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e", - "result_hash": "301e63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_imatch": { "status": "failed", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imatch' not found in .*\\.json\\. Generated hash is eabd8a2e22afd88682990bfb8e4a0700a942fe68e5114e8da4ab6bd93c47b824\\.", "image_status": null, "hash_status": "missing", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imatch' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_imatch/result.png", "baseline_hash": null, - "result_hash": "eabd8a2e22afd88682990bfb8e4a0700a942fe68e5114e8da4ab6bd93c47b824" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_idiff": { "status": "failed", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiff' not found in .*\\.json\\. Generated hash is e69570c4a70b2cc88ddee0f0a82312cae4f394b7f62e5760245feda1364c03ab\\.", "image_status": null, "hash_status": "missing", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiff' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_idiff/result.png", "baseline_hash": null, - "result_hash": "e69570c4a70b2cc88ddee0f0a82312cae4f394b7f62e5760245feda1364c03ab" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_idiffshape": { "status": "failed", "image_status": null, "hash_status": "missing", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiffshape' not found in .*\\.json\\. Generated hash is 204d43b643538cafafa2d0fb7dafac9cf7009dbb421d4b32c71da2e400ceb59d\\.", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiffshape' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_idiffshape/result.png", "baseline_hash": null, - "result_hash": "204d43b643538cafafa2d0fb7dafac9cf7009dbb421d4b32c71da2e400ceb59d" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_imissing": { "status": "failed", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imissing' not found in .*\\.json\\. Generated hash is 5c8a9c7412e4e098f6f2683ee247c08bd50805a93df4d4b6d8fccf3579b4c56b\\.", "image_status": null, "hash_status": "missing", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imissing' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_imissing/result.png", "baseline_hash": null, - "result_hash": "5c8a9c7412e4e098f6f2683ee247c08bd50805a93df4d4b6d8fccf3579b4c56b" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_tolerance": { "status": "failed", - "status_msg": "REGEX:Hash aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 doesn't match hash d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_tolerance\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_tolerance\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imatch_tolerance/result.png", - "baseline_hash": "d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96", - "result_hash": "aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_idiff_tolerance": { "status": "failed", - "status_msg": "REGEX:Hash aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 doesn't match hash d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff_tolerance\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff_tolerance\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_idiff_tolerance/result.png", - "baseline_hash": "d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96", - "result_hash": "aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_savefig": { "status": "failed", - "status_msg": "REGEX:Hash 5dc1c2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568 doesn't match hash d1ffc2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_savefig\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_savefig\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imatch_savefig/result.png", - "baseline_hash": "d1ffc2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568", - "result_hash": "5dc1c2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_style": { "status": "failed", - "status_msg": "REGEX:Hash 185ed1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7 doesn't match hash d1ffd1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_style\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_style\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imatch_style/result.png", - "baseline_hash": "d1ffd1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7", - "result_hash": "185ed1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_removetext": { "status": "failed", - "status_msg": "REGEX:Hash be5af83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e doesn't match hash d1fff83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_removetext\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_removetext\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imatch_removetext/result.png", - "baseline_hash": "d1fff83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e", - "result_hash": "be5af83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" } } diff --git a/tests/subtests/summaries/test_html_generate.json b/tests/subtests/summaries/test_html_generate.json index d4a2835e..d4366938 100644 --- a/tests/subtests/summaries/test_html_generate.json +++ b/tests/subtests/summaries/test_html_generate.json @@ -9,7 +9,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "4a47c9b7920779cc83eabe2bbb64b9c40745d9d8abfa57857f93a5d8f12a5a03", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmatch_idiff": { @@ -22,7 +22,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "2b48790b0a2cee4b41cdb9820336acaf229ba811ae21c6a92b4b92838843adfa", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmatch_idiffshape": { @@ -35,7 +35,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "e3fed4ad2d22aff2cd771c5503dcb30c6161b21d154430ededa5faa1ec54366e", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmatch_imissing": { @@ -48,7 +48,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "e937fa1997d088c904ca35b1ab542e2285ea47b84df976490380f9c5f5b5f8ae", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch": { @@ -61,7 +61,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "2cae8f315d44b06de8f45d937af46a67bd1389edd6e4cde32f9feb4b7472284f", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_idiff": { @@ -74,7 +74,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "927521206ef454a25417e3ba0bd3235c84518cb202c2d1fa7afcfdfcde5fdcde", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_idiffshape": { @@ -87,7 +87,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "5d37745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imissing": { @@ -100,7 +100,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "afc411cfa34db3a5819ac4127704e86acf27d24d1ea2410718853d3d7e1d6ae0", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_imatch": { @@ -113,7 +113,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "7ee8370efdc4b767634d12355657ca4f2460176670c07b31f3fb72cea0e79856", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_idiff": { @@ -126,7 +126,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "4eeda1d349f4b0f26df97df41ba5410dce2b1c7ed520062d58f3c5f0e3790ebd", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_idiffshape": { @@ -139,7 +139,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "204d43b643538cafafa2d0fb7dafac9cf7009dbb421d4b32c71da2e400ceb59d", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_imissing": { @@ -152,7 +152,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "5101e60ac100cf2c2f418a0a6a382aae0060339e76718730344f539b61f7dc7e", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_tolerance": { @@ -165,7 +165,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "510b3273d63a2a26a27e788ff0f090e86c9df7f9f191b7c566321c57de8266d6", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_idiff_tolerance": { @@ -178,7 +178,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "510b3273d63a2a26a27e788ff0f090e86c9df7f9f191b7c566321c57de8266d6", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_savefig": { @@ -191,7 +191,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "8864803a4b4026d8c6dc0ab950228793ea255cd9b6c629c39db9e6315a9af6bc", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_style": { @@ -204,7 +204,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "e3c8de36c2bad7dca131e4cbbfe229f882b5beec62750fb7da29314fd6a1ff13", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_removetext": { @@ -217,7 +217,7 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "e4c06cf613c6836c1b1202abaae69cf65bc2232a8e31ab1040454bedc8e31e7a", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null } } diff --git a/tests/subtests/summaries/test_html_generate_hashes_only.json b/tests/subtests/summaries/test_html_generate_hashes_only.json index d679f033..e98fa80c 100644 --- a/tests/subtests/summaries/test_html_generate_hashes_only.json +++ b/tests/subtests/summaries/test_html_generate_hashes_only.json @@ -9,7 +9,7 @@ "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hmatch_imatch/result.png", - "baseline_hash": "4a47c9b7920779cc83eabe2bbb64b9c40745d9d8abfa57857f93a5d8f12a5a03", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmatch_idiff": { @@ -22,7 +22,7 @@ "rms": 11.100353848213828, "tolerance": 2, "result_image": "subtests.subtest.test_hmatch_idiff/result.png", - "baseline_hash": "2b48790b0a2cee4b41cdb9820336acaf229ba811ae21c6a92b4b92838843adfa", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmatch_idiffshape": { @@ -35,7 +35,7 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmatch_idiffshape/result.png", - "baseline_hash": "e3fed4ad2d22aff2cd771c5503dcb30c6161b21d154430ededa5faa1ec54366e", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmatch_imissing": { @@ -48,7 +48,7 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmatch_imissing/result.png", - "baseline_hash": "e937fa1997d088c904ca35b1ab542e2285ea47b84df976490380f9c5f5b5f8ae", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch": { @@ -61,7 +61,7 @@ "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_imatch/result.png", - "baseline_hash": "2cae8f315d44b06de8f45d937af46a67bd1389edd6e4cde32f9feb4b7472284f", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_idiff": { @@ -74,7 +74,7 @@ "rms": 11.182677079602481, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_idiff/result.png", - "baseline_hash": "927521206ef454a25417e3ba0bd3235c84518cb202c2d1fa7afcfdfcde5fdcde", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_idiffshape": { @@ -87,7 +87,7 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_idiffshape/result.png", - "baseline_hash": "5d37745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imissing": { @@ -100,7 +100,7 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imissing/result.png", - "baseline_hash": "afc411cfa34db3a5819ac4127704e86acf27d24d1ea2410718853d3d7e1d6ae0", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_imatch": { @@ -113,7 +113,7 @@ "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hmissing_imatch/result.png", - "baseline_hash": "7ee8370efdc4b767634d12355657ca4f2460176670c07b31f3fb72cea0e79856", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_idiff": { @@ -126,7 +126,7 @@ "rms": 12.12938597648977, "tolerance": 2, "result_image": "subtests.subtest.test_hmissing_idiff/result.png", - "baseline_hash": "4eeda1d349f4b0f26df97df41ba5410dce2b1c7ed520062d58f3c5f0e3790ebd", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_idiffshape": { @@ -139,7 +139,7 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_idiffshape/result.png", - "baseline_hash": "204d43b643538cafafa2d0fb7dafac9cf7009dbb421d4b32c71da2e400ceb59d", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hmissing_imissing": { @@ -152,7 +152,7 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_imissing/result.png", - "baseline_hash": "5101e60ac100cf2c2f418a0a6a382aae0060339e76718730344f539b61f7dc7e", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_tolerance": { @@ -165,7 +165,7 @@ "rms": null, "tolerance": 200, "result_image": "subtests.subtest.test_hdiff_imatch_tolerance/result.png", - "baseline_hash": "510b3273d63a2a26a27e788ff0f090e86c9df7f9f191b7c566321c57de8266d6", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_idiff_tolerance": { @@ -178,7 +178,7 @@ "rms": 29.260332173249314, "tolerance": 3, "result_image": "subtests.subtest.test_hdiff_idiff_tolerance/result.png", - "baseline_hash": "510b3273d63a2a26a27e788ff0f090e86c9df7f9f191b7c566321c57de8266d6", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_savefig": { @@ -191,7 +191,7 @@ "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_imatch_savefig/result.png", - "baseline_hash": "8864803a4b4026d8c6dc0ab950228793ea255cd9b6c629c39db9e6315a9af6bc", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_style": { @@ -204,7 +204,7 @@ "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_imatch_style/result.png", - "baseline_hash": "e3c8de36c2bad7dca131e4cbbfe229f882b5beec62750fb7da29314fd6a1ff13", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null }, "subtests.subtest.test_hdiff_imatch_removetext": { @@ -217,7 +217,7 @@ "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_imatch_removetext/result.png", - "baseline_hash": "e4c06cf613c6836c1b1202abaae69cf65bc2232a8e31ab1040454bedc8e31e7a", + "baseline_hash": "###_BASELINE_HASH_###", "result_hash": null } } diff --git a/tests/subtests/summaries/test_html_hashes_only.json b/tests/subtests/summaries/test_html_hashes_only.json index 42442399..c7653ca5 100644 --- a/tests/subtests/summaries/test_html_hashes_only.json +++ b/tests/subtests/summaries/test_html_hashes_only.json @@ -9,8 +9,8 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmatch_imatch/result.png", - "baseline_hash": "573f4c1482192b7b15bbe4f2bd370ae3b5ab40c9afa441543b87e15a71e9f672", - "result_hash": "573f4c1482192b7b15bbe4f2bd370ae3b5ab40c9afa441543b87e15a71e9f672" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmatch_idiff": { "status": "passed", @@ -22,8 +22,8 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmatch_idiff/result.png", - "baseline_hash": "8b5c00365e6f784d5c8947091f09a92fd7d222e790431f297b4848f173e64857", - "result_hash": "8b5c00365e6f784d5c8947091f09a92fd7d222e790431f297b4848f173e64857" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmatch_idiffshape": { "status": "passed", @@ -35,8 +35,8 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmatch_idiffshape/result.png", - "baseline_hash": "e3fed4ad2d22aff2cd771c5503dcb30c6161b21d154430ededa5faa1ec54366e", - "result_hash": "e3fed4ad2d22aff2cd771c5503dcb30c6161b21d154430ededa5faa1ec54366e" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmatch_imissing": { "status": "passed", @@ -48,176 +48,176 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmatch_imissing/result.png", - "baseline_hash": "fd069e642e3b154c24077a4996b545e1c4dbffdbed34ea5ad34c7b36873af68f", - "result_hash": "fd069e642e3b154c24077a4996b545e1c4dbffdbed34ea5ad34c7b36873af68f" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch": { "status": "failed", - "status_msg": "REGEX:Hash 6e2fdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1 doesn't match hash d1ffdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imatch/result.png", - "baseline_hash": "d1ffdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1", - "result_hash": "6e2fdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_idiff": { "status": "failed", - "status_msg": "REGEX:Hash 443361bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43 doesn't match hash d1ff61bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_idiff/result.png", - "baseline_hash": "d1ff61bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43", - "result_hash": "443361bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_idiffshape": { "status": "failed", "image_status": null, "hash_status": "diff", - "status_msg": "REGEX:Hash 5d37745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580 doesn't match hash d1ff745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiffshape\\.", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiffshape\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_idiffshape/result.png", - "baseline_hash": "d1ff745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580", - "result_hash": "5d37745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imissing": { "status": "failed", - "status_msg": "REGEX:Hash 301e63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e doesn't match hash d1ff63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imissing\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imissing\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imissing/result.png", - "baseline_hash": "d1ff63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e", - "result_hash": "301e63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_imatch": { "status": "failed", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imatch' not found in .*\\.json\\. Generated hash is eabd8a2e22afd88682990bfb8e4a0700a942fe68e5114e8da4ab6bd93c47b824\\.", "image_status": null, "hash_status": "missing", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imatch' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_imatch/result.png", "baseline_hash": null, - "result_hash": "eabd8a2e22afd88682990bfb8e4a0700a942fe68e5114e8da4ab6bd93c47b824" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_idiff": { "status": "failed", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiff' not found in .*\\.json\\. Generated hash is e69570c4a70b2cc88ddee0f0a82312cae4f394b7f62e5760245feda1364c03ab\\.", "image_status": null, "hash_status": "missing", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiff' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_idiff/result.png", "baseline_hash": null, - "result_hash": "e69570c4a70b2cc88ddee0f0a82312cae4f394b7f62e5760245feda1364c03ab" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_idiffshape": { "status": "failed", "image_status": null, "hash_status": "missing", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiffshape' not found in .*\\.json\\. Generated hash is 204d43b643538cafafa2d0fb7dafac9cf7009dbb421d4b32c71da2e400ceb59d\\.", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiffshape' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_idiffshape/result.png", "baseline_hash": null, - "result_hash": "204d43b643538cafafa2d0fb7dafac9cf7009dbb421d4b32c71da2e400ceb59d" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_imissing": { "status": "failed", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imissing' not found in .*\\.json\\. Generated hash is 5c8a9c7412e4e098f6f2683ee247c08bd50805a93df4d4b6d8fccf3579b4c56b\\.", "image_status": null, "hash_status": "missing", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imissing' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_imissing/result.png", "baseline_hash": null, - "result_hash": "5c8a9c7412e4e098f6f2683ee247c08bd50805a93df4d4b6d8fccf3579b4c56b" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_tolerance": { "status": "failed", - "status_msg": "REGEX:Hash aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 doesn't match hash d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_tolerance\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_tolerance\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imatch_tolerance/result.png", - "baseline_hash": "d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96", - "result_hash": "aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_idiff_tolerance": { "status": "failed", - "status_msg": "REGEX:Hash aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 doesn't match hash d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff_tolerance\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff_tolerance\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_idiff_tolerance/result.png", - "baseline_hash": "d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96", - "result_hash": "aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_savefig": { "status": "failed", - "status_msg": "REGEX:Hash 5dc1c2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568 doesn't match hash d1ffc2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_savefig\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_savefig\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imatch_savefig/result.png", - "baseline_hash": "d1ffc2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568", - "result_hash": "5dc1c2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_style": { "status": "failed", - "status_msg": "REGEX:Hash 185ed1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7 doesn't match hash d1ffd1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_style\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_style\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imatch_style/result.png", - "baseline_hash": "d1ffd1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7", - "result_hash": "185ed1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_removetext": { "status": "failed", - "status_msg": "REGEX:Hash be5af83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e doesn't match hash d1fff83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_removetext\\.", "image_status": null, "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_removetext\\.", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imatch_removetext/result.png", - "baseline_hash": "d1fff83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e", - "result_hash": "be5af83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" } } diff --git a/tests/subtests/summaries/test_hybrid.json b/tests/subtests/summaries/test_hybrid.json index d65ae9cb..161153bc 100644 --- a/tests/subtests/summaries/test_hybrid.json +++ b/tests/subtests/summaries/test_hybrid.json @@ -9,8 +9,8 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "573f4c1482192b7b15bbe4f2bd370ae3b5ab40c9afa441543b87e15a71e9f672", - "result_hash": "573f4c1482192b7b15bbe4f2bd370ae3b5ab40c9afa441543b87e15a71e9f672" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmatch_idiff": { "status": "passed", @@ -22,8 +22,8 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "8b5c00365e6f784d5c8947091f09a92fd7d222e790431f297b4848f173e64857", - "result_hash": "8b5c00365e6f784d5c8947091f09a92fd7d222e790431f297b4848f173e64857" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmatch_idiffshape": { "status": "passed", @@ -35,8 +35,8 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "e3fed4ad2d22aff2cd771c5503dcb30c6161b21d154430ededa5faa1ec54366e", - "result_hash": "e3fed4ad2d22aff2cd771c5503dcb30c6161b21d154430ededa5faa1ec54366e" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmatch_imissing": { "status": "passed", @@ -48,176 +48,176 @@ "rms": null, "tolerance": null, "result_image": null, - "baseline_hash": "fd069e642e3b154c24077a4996b545e1c4dbffdbed34ea5ad34c7b36873af68f", - "result_hash": "fd069e642e3b154c24077a4996b545e1c4dbffdbed34ea5ad34c7b36873af68f" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch": { "status": "failed", - "status_msg": "REGEX:Hash 6e2fdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1 doesn't match hash d1ffdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "image_status": "match", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "baseline_image": "subtests.subtest.test_hdiff_imatch/baseline.png", "diff_image": null, "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_imatch/result.png", - "baseline_hash": "d1ffdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1", - "result_hash": "6e2fdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_idiff": { "status": "failed", - "status_msg": "REGEX:Hash 443361bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43 doesn't match hash d1ff61bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff\\.\n\nImage comparison test\n---------------------\nError: Image files did not match\\.\n RMS Value: 11\\.1[0-9]*\n Expected: \n .*baseline\\.png\n Actual: \n .*result\\.png\n Difference:\n .*result-failed-diff\\.png\n Tolerance: \n 2", "image_status": "diff", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff\\.\n\nImage comparison test\n---------------------\nError: Image files did not match\\.\n RMS Value: 11\\.1[0-9]*\n Expected: \n .*baseline\\.png\n Actual: \n .*result\\.png\n Difference:\n .*result-failed-diff\\.png\n Tolerance: \n 2", "baseline_image": "subtests.subtest.test_hdiff_idiff/baseline.png", "diff_image": "subtests.subtest.test_hdiff_idiff/result-failed-diff.png", "rms": 11.182677079602481, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_idiff/result.png", - "baseline_hash": "d1ff61bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43", - "result_hash": "443361bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_idiffshape": { "status": "failed", "image_status": "diff", "hash_status": "diff", - "status_msg": "REGEX:Hash 5d37745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580 doesn't match hash d1ff745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiffshape\\.\n\nImage comparison test\n---------------------\nError: Image dimensions did not match\\.\n Expected shape: \\(400, 400\\)\n .*baseline\\.png\n Actual shape: \\(600, 800\\)\n .*result\\.png", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiffshape\\.\n\nImage comparison test\n---------------------\nError: Image dimensions did not match\\.\n Expected shape: \\(400, 400\\)\n .*baseline\\.png\n Actual shape: \\(600, 800\\)\n .*result\\.png", "baseline_image": "subtests.subtest.test_hdiff_idiffshape/baseline.png", "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_idiffshape/result.png", - "baseline_hash": "d1ff745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580", - "result_hash": "5d37745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imissing": { "status": "failed", - "status_msg": "REGEX:Hash 301e63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e doesn't match hash d1ff63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imissing\\.\n\nImage comparison test\n---------------------\nImage file not found for comparison test in: \n\t.*\n\\(This is expected for new tests\\.\\)\nGenerated Image: \n\t.*result\\.png", "image_status": "missing", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imissing\\.\n\nImage comparison test\n---------------------\nImage file not found for comparison test in: \n\t.*\n\\(This is expected for new tests\\.\\)\nGenerated Image: \n\t.*result\\.png", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imissing/result.png", - "baseline_hash": "d1ff63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e", - "result_hash": "301e63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_imatch": { "status": "failed", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imatch' not found in .*\\.json\\. Generated hash is eabd8a2e22afd88682990bfb8e4a0700a942fe68e5114e8da4ab6bd93c47b824\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "image_status": "match", "hash_status": "missing", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imatch' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "baseline_image": "subtests.subtest.test_hmissing_imatch/baseline.png", "diff_image": null, "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hmissing_imatch/result.png", "baseline_hash": null, - "result_hash": "eabd8a2e22afd88682990bfb8e4a0700a942fe68e5114e8da4ab6bd93c47b824" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_idiff": { "status": "failed", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiff' not found in .*\\.json\\. Generated hash is e69570c4a70b2cc88ddee0f0a82312cae4f394b7f62e5760245feda1364c03ab\\.\n\nImage comparison test\n---------------------\nError: Image files did not match\\.\n RMS Value: 12\\.1[0-9]*\n Expected: \n .*baseline\\.png\n Actual: \n .*result\\.png\n Difference:\n .*result-failed-diff\\.png\n Tolerance: \n 2", "image_status": "diff", "hash_status": "missing", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiff' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.\n\nImage comparison test\n---------------------\nError: Image files did not match\\.\n RMS Value: 12\\.1[0-9]*\n Expected: \n .*baseline\\.png\n Actual: \n .*result\\.png\n Difference:\n .*result-failed-diff\\.png\n Tolerance: \n 2", "baseline_image": "subtests.subtest.test_hmissing_idiff/baseline.png", "diff_image": "subtests.subtest.test_hmissing_idiff/result-failed-diff.png", "rms": 12.12938597648977, "tolerance": 2, "result_image": "subtests.subtest.test_hmissing_idiff/result.png", "baseline_hash": null, - "result_hash": "e69570c4a70b2cc88ddee0f0a82312cae4f394b7f62e5760245feda1364c03ab" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_idiffshape": { "status": "failed", "image_status": "diff", "hash_status": "missing", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiffshape' not found in .*\\.json\\. Generated hash is 204d43b643538cafafa2d0fb7dafac9cf7009dbb421d4b32c71da2e400ceb59d\\.\n\nImage comparison test\n---------------------\nError: Image dimensions did not match\\.\n Expected shape: \\(400, 400\\)\n .*baseline\\.png\n Actual shape: \\(600, 800\\)\n .*result\\.png", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiffshape' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.\n\nImage comparison test\n---------------------\nError: Image dimensions did not match\\.\n Expected shape: \\(400, 400\\)\n .*baseline\\.png\n Actual shape: \\(600, 800\\)\n .*result\\.png", "baseline_image": "subtests.subtest.test_hmissing_idiffshape/baseline.png", "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_idiffshape/result.png", "baseline_hash": null, - "result_hash": "204d43b643538cafafa2d0fb7dafac9cf7009dbb421d4b32c71da2e400ceb59d" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_imissing": { "status": "failed", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imissing' not found in .*\\.json\\. Generated hash is 5c8a9c7412e4e098f6f2683ee247c08bd50805a93df4d4b6d8fccf3579b4c56b\\.\n\nImage comparison test\n---------------------\nImage file not found for comparison test in: \n\t.*\n\\(This is expected for new tests\\.\\)\nGenerated Image: \n\t.*result\\.png", "image_status": "missing", "hash_status": "missing", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imissing' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.\n\nImage comparison test\n---------------------\nImage file not found for comparison test in: \n\t.*\n\\(This is expected for new tests\\.\\)\nGenerated Image: \n\t.*result\\.png", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_imissing/result.png", "baseline_hash": null, - "result_hash": "5c8a9c7412e4e098f6f2683ee247c08bd50805a93df4d4b6d8fccf3579b4c56b" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_tolerance": { "status": "failed", - "status_msg": "REGEX:Hash aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 doesn't match hash d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_tolerance\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "image_status": "match", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_tolerance\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "baseline_image": "subtests.subtest.test_hdiff_imatch_tolerance/baseline.png", "diff_image": null, "rms": null, "tolerance": 200, "result_image": "subtests.subtest.test_hdiff_imatch_tolerance/result.png", - "baseline_hash": "d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96", - "result_hash": "aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_idiff_tolerance": { "status": "failed", - "status_msg": "REGEX:Hash aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 doesn't match hash d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff_tolerance\\.\n\nImage comparison test\n---------------------\nError: Image files did not match\\.\n RMS Value: 29\\.2[0-9]*\n Expected: \n .*baseline\\.png\n Actual: \n .*result\\.png\n Difference:\n .*result-failed-diff\\.png\n Tolerance: \n 3", "image_status": "diff", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff_tolerance\\.\n\nImage comparison test\n---------------------\nError: Image files did not match\\.\n RMS Value: 29\\.2[0-9]*\n Expected: \n .*baseline\\.png\n Actual: \n .*result\\.png\n Difference:\n .*result-failed-diff\\.png\n Tolerance: \n 3", "baseline_image": "subtests.subtest.test_hdiff_idiff_tolerance/baseline.png", "diff_image": "subtests.subtest.test_hdiff_idiff_tolerance/result-failed-diff.png", "rms": 29.260332173249314, "tolerance": 3, "result_image": "subtests.subtest.test_hdiff_idiff_tolerance/result.png", - "baseline_hash": "d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96", - "result_hash": "aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_savefig": { "status": "failed", - "status_msg": "REGEX:Hash 5dc1c2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568 doesn't match hash d1ffc2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_savefig\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "image_status": "match", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_savefig\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "baseline_image": "subtests.subtest.test_hdiff_imatch_savefig/baseline.png", "diff_image": null, "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_imatch_savefig/result.png", - "baseline_hash": "d1ffc2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568", - "result_hash": "5dc1c2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_style": { "status": "failed", - "status_msg": "REGEX:Hash 185ed1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7 doesn't match hash d1ffd1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_style\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "image_status": "match", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_style\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "baseline_image": "subtests.subtest.test_hdiff_imatch_style/baseline.png", "diff_image": null, "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_imatch_style/result.png", - "baseline_hash": "d1ffd1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7", - "result_hash": "185ed1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_removetext": { "status": "failed", - "status_msg": "REGEX:Hash be5af83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e doesn't match hash d1fff83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_removetext\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "image_status": "match", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_removetext\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "baseline_image": "subtests.subtest.test_hdiff_imatch_removetext/baseline.png", "diff_image": null, "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_imatch_removetext/result.png", - "baseline_hash": "d1fff83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e", - "result_hash": "be5af83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" } } diff --git a/tests/subtests/summaries/test_results_always.json b/tests/subtests/summaries/test_results_always.json index 333c1e2c..8db02e1c 100644 --- a/tests/subtests/summaries/test_results_always.json +++ b/tests/subtests/summaries/test_results_always.json @@ -9,8 +9,8 @@ "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hmatch_imatch/result.png", - "baseline_hash": "573f4c1482192b7b15bbe4f2bd370ae3b5ab40c9afa441543b87e15a71e9f672", - "result_hash": "573f4c1482192b7b15bbe4f2bd370ae3b5ab40c9afa441543b87e15a71e9f672" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmatch_idiff": { "status": "passed", @@ -22,8 +22,8 @@ "rms": 11.100353848213828, "tolerance": 2, "result_image": "subtests.subtest.test_hmatch_idiff/result.png", - "baseline_hash": "8b5c00365e6f784d5c8947091f09a92fd7d222e790431f297b4848f173e64857", - "result_hash": "8b5c00365e6f784d5c8947091f09a92fd7d222e790431f297b4848f173e64857" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmatch_idiffshape": { "status": "passed", @@ -35,8 +35,8 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmatch_idiffshape/result.png", - "baseline_hash": "e3fed4ad2d22aff2cd771c5503dcb30c6161b21d154430ededa5faa1ec54366e", - "result_hash": "e3fed4ad2d22aff2cd771c5503dcb30c6161b21d154430ededa5faa1ec54366e" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmatch_imissing": { "status": "passed", @@ -48,176 +48,176 @@ "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmatch_imissing/result.png", - "baseline_hash": "fd069e642e3b154c24077a4996b545e1c4dbffdbed34ea5ad34c7b36873af68f", - "result_hash": "fd069e642e3b154c24077a4996b545e1c4dbffdbed34ea5ad34c7b36873af68f" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch": { "status": "failed", - "status_msg": "REGEX:Hash 6e2fdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1 doesn't match hash d1ffdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "image_status": "match", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "baseline_image": "subtests.subtest.test_hdiff_imatch/baseline.png", "diff_image": null, "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_imatch/result.png", - "baseline_hash": "d1ffdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1", - "result_hash": "6e2fdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_idiff": { "status": "failed", - "status_msg": "REGEX:Hash 443361bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43 doesn't match hash d1ff61bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff\\.\n\nImage comparison test\n---------------------\nError: Image files did not match\\.\n RMS Value: 11\\.1[0-9]*\n Expected: \n .*baseline\\.png\n Actual: \n .*result\\.png\n Difference:\n .*result-failed-diff\\.png\n Tolerance: \n 2", "image_status": "diff", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff\\.\n\nImage comparison test\n---------------------\nError: Image files did not match\\.\n RMS Value: 11\\.1[0-9]*\n Expected: \n .*baseline\\.png\n Actual: \n .*result\\.png\n Difference:\n .*result-failed-diff\\.png\n Tolerance: \n 2", "baseline_image": "subtests.subtest.test_hdiff_idiff/baseline.png", "diff_image": "subtests.subtest.test_hdiff_idiff/result-failed-diff.png", "rms": 11.182677079602481, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_idiff/result.png", - "baseline_hash": "d1ff61bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43", - "result_hash": "443361bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_idiffshape": { "status": "failed", "image_status": "diff", "hash_status": "diff", - "status_msg": "REGEX:Hash 5d37745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580 doesn't match hash d1ff745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiffshape\\.\n\nImage comparison test\n---------------------\nError: Image dimensions did not match\\.\n Expected shape: \\(400, 400\\)\n .*baseline\\.png\n Actual shape: \\(600, 800\\)\n .*result\\.png", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiffshape\\.\n\nImage comparison test\n---------------------\nError: Image dimensions did not match\\.\n Expected shape: \\(400, 400\\)\n .*baseline\\.png\n Actual shape: \\(600, 800\\)\n .*result\\.png", "baseline_image": "subtests.subtest.test_hdiff_idiffshape/baseline.png", "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_idiffshape/result.png", - "baseline_hash": "d1ff745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580", - "result_hash": "5d37745bbdf2aac6743dbd830afb1877c2ac25a5f926d4f6483c1e24d19a0580" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imissing": { "status": "failed", - "status_msg": "REGEX:Hash 301e63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e doesn't match hash d1ff63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imissing\\.\n\nImage comparison test\n---------------------\nImage file not found for comparison test in: \n\t.*\n\\(This is expected for new tests\\.\\)\nGenerated Image: \n\t.*result\\.png", "image_status": "missing", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imissing\\.\n\nImage comparison test\n---------------------\nImage file not found for comparison test in: \n\t.*\n\\(This is expected for new tests\\.\\)\nGenerated Image: \n\t.*result\\.png", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hdiff_imissing/result.png", - "baseline_hash": "d1ff63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e", - "result_hash": "301e63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_imatch": { "status": "failed", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imatch' not found in .*\\.json\\. Generated hash is eabd8a2e22afd88682990bfb8e4a0700a942fe68e5114e8da4ab6bd93c47b824\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "image_status": "match", "hash_status": "missing", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imatch' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "baseline_image": "subtests.subtest.test_hmissing_imatch/baseline.png", "diff_image": null, "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hmissing_imatch/result.png", "baseline_hash": null, - "result_hash": "eabd8a2e22afd88682990bfb8e4a0700a942fe68e5114e8da4ab6bd93c47b824" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_idiff": { "status": "failed", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiff' not found in .*\\.json\\. Generated hash is e69570c4a70b2cc88ddee0f0a82312cae4f394b7f62e5760245feda1364c03ab\\.\n\nImage comparison test\n---------------------\nError: Image files did not match\\.\n RMS Value: 12\\.1[0-9]*\n Expected: \n .*baseline\\.png\n Actual: \n .*result\\.png\n Difference:\n .*result-failed-diff\\.png\n Tolerance: \n 2", "image_status": "diff", "hash_status": "missing", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiff' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.\n\nImage comparison test\n---------------------\nError: Image files did not match\\.\n RMS Value: 12\\.1[0-9]*\n Expected: \n .*baseline\\.png\n Actual: \n .*result\\.png\n Difference:\n .*result-failed-diff\\.png\n Tolerance: \n 2", "baseline_image": "subtests.subtest.test_hmissing_idiff/baseline.png", "diff_image": "subtests.subtest.test_hmissing_idiff/result-failed-diff.png", "rms": 12.12938597648977, "tolerance": 2, "result_image": "subtests.subtest.test_hmissing_idiff/result.png", "baseline_hash": null, - "result_hash": "e69570c4a70b2cc88ddee0f0a82312cae4f394b7f62e5760245feda1364c03ab" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_idiffshape": { "status": "failed", "image_status": "diff", "hash_status": "missing", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiffshape' not found in .*\\.json\\. Generated hash is 204d43b643538cafafa2d0fb7dafac9cf7009dbb421d4b32c71da2e400ceb59d\\.\n\nImage comparison test\n---------------------\nError: Image dimensions did not match\\.\n Expected shape: \\(400, 400\\)\n .*baseline\\.png\n Actual shape: \\(600, 800\\)\n .*result\\.png", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_idiffshape' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.\n\nImage comparison test\n---------------------\nError: Image dimensions did not match\\.\n Expected shape: \\(400, 400\\)\n .*baseline\\.png\n Actual shape: \\(600, 800\\)\n .*result\\.png", "baseline_image": "subtests.subtest.test_hmissing_idiffshape/baseline.png", "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_idiffshape/result.png", "baseline_hash": null, - "result_hash": "204d43b643538cafafa2d0fb7dafac9cf7009dbb421d4b32c71da2e400ceb59d" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hmissing_imissing": { "status": "failed", - "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imissing' not found in .*\\.json\\. Generated hash is 5c8a9c7412e4e098f6f2683ee247c08bd50805a93df4d4b6d8fccf3579b4c56b\\.\n\nImage comparison test\n---------------------\nImage file not found for comparison test in: \n\t.*\n\\(This is expected for new tests\\.\\)\nGenerated Image: \n\t.*result\\.png", "image_status": "missing", "hash_status": "missing", + "status_msg": "REGEX:Hash for test 'subtests\\.subtest\\.test_hmissing_imissing' not found in .*\\.json\\. Generated hash is ###_RESULT_HASH_###\\.\n\nImage comparison test\n---------------------\nImage file not found for comparison test in: \n\t.*\n\\(This is expected for new tests\\.\\)\nGenerated Image: \n\t.*result\\.png", "baseline_image": null, "diff_image": null, "rms": null, "tolerance": null, "result_image": "subtests.subtest.test_hmissing_imissing/result.png", "baseline_hash": null, - "result_hash": "5c8a9c7412e4e098f6f2683ee247c08bd50805a93df4d4b6d8fccf3579b4c56b" + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_tolerance": { "status": "failed", - "status_msg": "REGEX:Hash aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 doesn't match hash d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_tolerance\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "image_status": "match", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_tolerance\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "baseline_image": "subtests.subtest.test_hdiff_imatch_tolerance/baseline.png", "diff_image": null, "rms": null, "tolerance": 200, "result_image": "subtests.subtest.test_hdiff_imatch_tolerance/result.png", - "baseline_hash": "d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96", - "result_hash": "aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_idiff_tolerance": { "status": "failed", - "status_msg": "REGEX:Hash aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 doesn't match hash d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff_tolerance\\.\n\nImage comparison test\n---------------------\nError: Image files did not match\\.\n RMS Value: 29\\.2[0-9]*\n Expected: \n .*baseline\\.png\n Actual: \n .*result\\.png\n Difference:\n .*result-failed-diff\\.png\n Tolerance: \n 3", "image_status": "diff", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_idiff_tolerance\\.\n\nImage comparison test\n---------------------\nError: Image files did not match\\.\n RMS Value: 29\\.2[0-9]*\n Expected: \n .*baseline\\.png\n Actual: \n .*result\\.png\n Difference:\n .*result-failed-diff\\.png\n Tolerance: \n 3", "baseline_image": "subtests.subtest.test_hdiff_idiff_tolerance/baseline.png", "diff_image": "subtests.subtest.test_hdiff_idiff_tolerance/result-failed-diff.png", "rms": 29.260332173249314, "tolerance": 3, "result_image": "subtests.subtest.test_hdiff_idiff_tolerance/result.png", - "baseline_hash": "d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96", - "result_hash": "aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_savefig": { "status": "failed", - "status_msg": "REGEX:Hash 5dc1c2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568 doesn't match hash d1ffc2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_savefig\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "image_status": "match", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_savefig\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "baseline_image": "subtests.subtest.test_hdiff_imatch_savefig/baseline.png", "diff_image": null, "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_imatch_savefig/result.png", - "baseline_hash": "d1ffc2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568", - "result_hash": "5dc1c2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_style": { "status": "failed", - "status_msg": "REGEX:Hash 185ed1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7 doesn't match hash d1ffd1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7 in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_style\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "image_status": "match", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_style\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "baseline_image": "subtests.subtest.test_hdiff_imatch_style/baseline.png", "diff_image": null, "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_imatch_style/result.png", - "baseline_hash": "d1ffd1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7", - "result_hash": "185ed1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" }, "subtests.subtest.test_hdiff_imatch_removetext": { "status": "failed", - "status_msg": "REGEX:Hash be5af83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e doesn't match hash d1fff83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_removetext\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "image_status": "match", "hash_status": "diff", + "status_msg": "REGEX:Hash ###_RESULT_HASH_### doesn't match hash ###_BASELINE_HASH_### in library .*\\.json for test subtests\\.subtest\\.test_hdiff_imatch_removetext\\.\n\nImage comparison test\n---------------------\nThe comparison to the baseline image succeeded\\.", "baseline_image": "subtests.subtest.test_hdiff_imatch_removetext/baseline.png", "diff_image": null, "rms": null, "tolerance": 2, "result_image": "subtests.subtest.test_hdiff_imatch_removetext/result.png", - "baseline_hash": "d1fff83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e", - "result_hash": "be5af83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e" + "baseline_hash": "###_BASELINE_HASH_###", + "result_hash": "###_RESULT_HASH_###" } } diff --git a/tests/subtests/test_subtest.py b/tests/subtests/test_subtest.py index eb85aa5c..2000c3bd 100644 --- a/tests/subtests/test_subtest.py +++ b/tests/subtests/test_subtest.py @@ -1,3 +1,4 @@ +import os import sys import json import shutil @@ -9,7 +10,8 @@ import pytest from packaging.version import Version -from .helpers import assert_existence, diff_summary, patch_summary +from .helpers import (apply_regex, assert_existence, diff_summary, + patch_summary, remove_specific_hashes) # Handle Matplotlib and FreeType versions MPL_VERSION = Version(matplotlib.__version__) @@ -32,6 +34,16 @@ UPDATE_BASELINE = False # baseline images and hashes UPDATE_SUMMARY = False # baseline summaries +# When updating baseline summaries, replace parts of status_msg with regex. +# See helpers.apply_regex for more information. +REGEX_PATHS = [ + str(Path(__file__).parent), # replace all references to baseline files + str(os.path.realpath(os.getenv("TMPDIR"))), # replace all references to output files +] +REGEX_STRS = [ + r'RMS Value: ', +] + def run_subtest(baseline_summary_name, tmp_path, args, summaries=None, xfail=True, has_result_hashes=False, generating_hashes=False, @@ -57,6 +69,9 @@ def run_subtest(baseline_summary_name, tmp_path, args, summaries=None, xfail=Tru Whether `--mpl-generate-hash-library` was specified and both of `--mpl-hash-library` and `hash_library=` were not. """ + if update_baseline and update_summary: + raise ValueError("Cannot enable both `update_baseline` and `update_summary`.") + # Parse arguments if summaries is None: summaries = [] @@ -85,6 +100,7 @@ def run_subtest(baseline_summary_name, tmp_path, args, summaries=None, xfail=Tru if HASH_LIBRARY.exists(): # Keep in sync. Use `git add -p` to commit specific lines. shutil.copy(HASH_LIBRARY, RESULT_LIBRARY) + pytest.skip("Skipping testing, since `update_baseline` is enabled.") return # Ensure exit status is as expected @@ -99,6 +115,8 @@ def run_subtest(baseline_summary_name, tmp_path, args, summaries=None, xfail=Tru results_file = results_path / 'results.json' if update_summary: shutil.copy(results_file, baseline_file) + apply_regex(baseline_file, REGEX_PATHS, REGEX_STRS) + remove_specific_hashes(baseline_file) with open(baseline_file, 'r') as f: baseline_summary = json.load(f) with open(results_file, 'r') as f: @@ -136,6 +154,9 @@ def run_subtest(baseline_summary_name, tmp_path, args, summaries=None, xfail=Tru else: assert not result_hash_file.exists() + if update_summary: + pytest.skip("Skipping testing, since `update_summary` is enabled.") + def test_default(tmp_path): run_subtest('test_default', tmp_path, []) From c248740f67fe32b9b48d877c95c5bb440f02d880 Mon Sep 17 00:00:00 2001 From: Conor MacBride Date: Fri, 27 May 2022 18:41:35 +0100 Subject: [PATCH 2/8] Autogenerate baseline data and reduce number of tests --- setup.cfg | 1 + tests/subtests/baseline/test_hdiff_idiff.png | Bin 24460 -> 25844 bytes .../baseline/test_hdiff_idiff_tolerance.png | Bin 32950 -> 20378 bytes .../baseline/test_hdiff_idiffshape.png | Bin 16516 -> 15496 bytes tests/subtests/baseline/test_hdiff_imatch.png | Bin 24420 -> 24351 bytes .../baseline/test_hdiff_imatch_removetext.png | Bin 17802 -> 17733 bytes .../baseline/test_hdiff_imatch_savefig.png | Bin 17381 -> 17312 bytes .../baseline/test_hdiff_imatch_style.png | Bin 26038 -> 25969 bytes .../baseline/test_hdiff_imatch_tolerance.png | Bin 32950 -> 16971 bytes tests/subtests/baseline/test_hmatch_idiff.png | Bin 20709 -> 26173 bytes .../baseline/test_hmatch_idiffshape.png | Bin 16164 -> 14902 bytes .../subtests/baseline/test_hmatch_imatch.png | Bin 19994 -> 19925 bytes .../subtests/baseline/test_hmissing_idiff.png | Bin 23505 -> 27085 bytes .../baseline/test_hmissing_idiffshape.png | Bin 17283 -> 16167 bytes .../baseline/test_hmissing_imatch.png | Bin 23405 -> 23336 bytes tests/subtests/hashes/mpl35_ft261.json | 26 ++-- tests/subtests/helpers.py | 56 ++++++++- tests/subtests/result_hashes/mpl35_ft261.json | 34 ++--- tests/subtests/subtest.py | 51 +++++--- tests/subtests/summaries/test_default.json | 22 ++-- .../summaries/test_generate_hashes_only.json | 22 ++-- tests/subtests/summaries/test_hash.json | 117 ------------------ .../test_html_generate_hashes_only.json | 22 ++-- .../summaries/test_html_hashes_only.json | 117 ------------------ .../summaries/test_html_images_only.json | 22 ++-- tests/subtests/summaries/test_hybrid.json | 16 +-- .../summaries/test_results_always.json | 22 ++-- tests/subtests/test_subtest.py | 49 +++++--- tox.ini | 9 +- 29 files changed, 221 insertions(+), 365 deletions(-) diff --git a/setup.cfg b/setup.cfg index 60478bd3..b9eb7133 100644 --- a/setup.cfg +++ b/setup.cfg @@ -30,6 +30,7 @@ install_requires = importlib_resources;python_version<'3.8' packaging Jinja2 + Pillow [options.entry_points] pytest11 = diff --git a/tests/subtests/baseline/test_hdiff_idiff.png b/tests/subtests/baseline/test_hdiff_idiff.png index b377b07108cf3eaa0f5fc773f74df61fd97fd21a..d4c06c598d7632f3f8a12dc76c3832600d28400d 100644 GIT binary patch literal 25844 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 literal 24460 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 k`WFwTTu>vg`)_q~%A#$qd_ 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 Rm&qS%?%BUPZs+e8{tqH$p7a0! diff --git a/tests/subtests/baseline/test_hdiff_idiffshape.png b/tests/subtests/baseline/test_hdiff_idiffshape.png index 2bc3cbce21a3aeea0677580ae0e793838d41f196..7a9dc08e0f64e17f7fcb4ba709f6e0eff82b8540 100644 GIT binary patch literal 15496 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 Dp;XU( diff --git a/tests/subtests/baseline/test_hdiff_imatch.png b/tests/subtests/baseline/test_hdiff_imatch.png index c1a2a3effb2e724ff1a3d92c9dd8beae74dcca2e..a9be91e8311b111c2d54f000f805e848c6e9f875 100644 GIT binary patch delta 12 UcmaE|k8%D!#tAALGk?bc04U`KDF6Tf delta 79 zcmbQgkMYSq#tAA;mL;wcCBgY=CFO}lsSLh}B?US8B{`W%3T3H9#hLke#(JiDhB^uv cB_##LR{Hw6a0Pn#Md|uC5xLRo52ab|v=v7V`(p^idE cNl8JmmA-y1T!CJGQM&$(#7}!SD%Lv#0G4kaH~;_u diff --git a/tests/subtests/baseline/test_hdiff_imatch_style.png b/tests/subtests/baseline/test_hdiff_imatch_style.png index 49f4adeecb3ec5b8a963fed52a56f2f82d90b4a7..e0a137cbc549b470bb0a40efb48119eb94057eb0 100644 GIT binary patch delta 12 TcmdmXn(^Z)#tAALGksG5DLDnd delta 79 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 N7zH)?jPpi*{|mIMv6=t? literal 32950 zcmeFZc{r5)`#(IAx=Yd~MYbZz)?!JMrPWrHlARV3GGrLCx2hytC=4w_AtMH3FtkY} zqb7_oGZZnF8M5y@=QZxn=lgx0wTTu>vg`)_q~%A#$qd_ zR-#ZSF;kNxRw$IPJPNhM_Mc_&Us7>5eBndS|ER71X`f5}f#?0)P$$m&`(E+!zv6L0 z9_QwV_3**$)zH@1ttNlj-`^LzUsKcjzhBVs@pIQ~IX_H=A6emRVuwYc#LpvtgkBlG z^gy8^x0xO}cqS;F&$*T!6R=P_H1Xv8t_wUbMe`rouj4=F-#!wrWS&fyceQ+U>;A@5 zU(W7!RdvWZW7V6zVOgN)bG6%rZqjwTF3|>K2Q8KMa74ESqh&<-%my&|Ncj6#9dHo(nK_;eZ>XMS8 z;^l?;xl7^fva79?*GOlHjybv3d1eVxT9=>p6DurU9E+ikG#F;mQ&u61Fl7tvo}H*( zXo{F0k;`|gIIAB#`h9+GrXDTdlxv-+nD0m#e%%RAlM+6|*PWa0FHpfDc5h^VOxy&u zV#SKSA1|Wz2lNs83#!|G>fO6{Z~AwX+!=TbtaIMk{8Z$snopmc`^-h)D!Pd5yOrnO z-&)aH6;_d~X4f&5F1&no&z~=eJMD{m^a}8LrCtmTr?9c66yAQY&B)OkX!$Rbu->uJ zpO#*Kf4$pj`{pTk#3Fs4g6Y>}b(UU%TSLa&YvfVln7+#uH(TnDJsR$+dnv0QoX)tW z=l3U05r5#?a5|%-ql5N!mIaSC#&pljIg?}ciPW7PxydrK5oAXahV!gJXW-fsQz zmW$lV@UA4AT=#|yslAuJ=@s0*b*l%qnbFsj*KmzLGgxiYOV3JDwIM3DlVQ~fY{Tyo zJI|E8G8ERJwoya8Mtgqbgl#rimTB2qNij`=Y40%iI>fZ_B~M08_1b~fi_hSilTubsojtdmquA4?d8`}R)` zb?$VjnsuREs!#2`r=0N}mbB0+)}P`M{saExgwIVY%~ZL|R^*<1c4Mb?uD{BHN!ik^ zTenU+(svnT7DqR1=Xa1yS(Bj}F-M~bxz<@PjD@)d3yz*GC;ON`S>*>bB7W~MN;vt{ zNQe{I9>(2bh^_6+EGY3}Shz&YmCWl|bp0@vYfAH}%DE#Zo$FE^{xwxQ&-q%HgoK8p zZP?8CiQjq4QK+|@yXwpnmCe=dTbSW;5pKq_E?jpO7?3FV5R(K%(wc0Ep zeQTNUlAuQLzQ(GhOW$$@@5U)q$3r^Pa`-Iq(N61xjhe|D)#8rD6g7NFwGN(e%JDsq zuJF$pZ9FX*_Qd2)!$L#12q9P7tNE2**Vp?GA7=N0rT=o74flAzl(9orZee2R`^nyD zO#%x;VoXkZ$FWF4 z##J~M`)GQ%h0ZhXzZIm0xNL9cR!%5MD=c{UiGGOV+Tp@Q&c!M>_+#sQpr0(S&F?*_yUZX#M+k7z@dDzEqrH2es zoW<)@3rw)wR?6Lf$RWuo*KQ0}Zab0c%Kf#Nj_8&4C4>~`;beZxsn)U|G>-4hiT53a zwQQZLvLHc*GLZ}(^E)h}ZX8?Q7W2ZGe}z?Q#USDa8dY-a_V)fdh>rgEDf%i$Z6`zN zEFW_l7jJh)LCV%`)O>Vs@tKlb{LEZn_f5x@i$7>xScqAkXGh{)Av)4$r!Y&(-I~>U zV|00rrB{ePiV@-H8BQQ>+4aQ-ZhGx9IAHMY$+mz##kpBh7)_gD;zRB7o-+s|NT~80 zza-EfY#z`Mwc04iuU0j$?W{^X>6+DL1+j90RB7XfEnI`YkzT9FA8RYB;=^WmJf}d@ zh6C&OohIC+u3qv2NykPf@%y{(M>XeXU96>r^HW?1QF7zW6+?7$s~9O9hHH^yt*X15 zGu(LE>gF=jY8=C9Kx2i*YQY_ET&i82V4QiL&t0xZy zPkW#x*L7?sx?HVkuMIT_bpO*Cn|0tCPkYU#f3I)a>7&1SZpOSWnMtYB42<==9Wt|!JxNykf0ced@8m3Q2E$dwB-8E)OyRzQj+j8lNf0h z9Sp^+gDeS)o%`*-V1Gk0X&}g^&X}J%733mCd(t1hdv3_o8RY@aJo%;6% zIRNb+r{i6O)ot4mBRA+>KfuZAx$I--xL;r?Ws0SkBn;)Kl(w1YkN09i#iPC3w7osK z7cM#teyZl)QOr8LTxAcPhCk3N#i2SXYsd&HFUMj_gR5xce7nx7`EiHdp<4b(sKLa( zGZa7E_{&U!hEwGjrgA#BBEx8qB6e(>OqSk}$u4dLG3HZi#8 zzu;M8LARn<%-)|_E7tQI$9b5i=i4extDQ;Ns>yxLC5-o3M+LhjS`<<3Kf$5DIsc_S zDQNP%$A@Jh`TaylXT#%F`XOejHmww^EW+l!Y^UUiz9w_~@-sV~*{qr0^yi2Pz7^T5 zbKJgipKo{1DMrQB(N|RGG#&bj*jCD95O|sm%1%lvZkaf)y5Y%BG083ZskKC_^@6R} z_&m~JF0r$PA|_3+z#|VgeE$r!96!@3o)h3T@z3L~-j`12Nq$*g`;Ghly%&YIM>lYr zy9Ih?pn~3Cz@l7X67;Zy*(pAcn`wSHs+9sEE=HH&MJyzlTw8n_=OlIp$@MVE1uU65 ztLL}0yqYOgY17RHj?#wLtjn7wD4V`~M2)^;_jfA>(wyXBl! z>j>hDA%Ncdla3w?>gNOv9VM6KyD>C+uPGhxhN<-(nBl=J9M?=BRtElI6z)0mmpIq|tNq zGI+Gg_U^&X6)T7hotd=>r^!TC1|xc$pXCx!f=${6y^tVR)~`u zjYCHVrDrJivkJp$(PxEPozp_&$RLc#LKAZTE4#kx&-iX}R zS4tmye$lu$#f9fsbDw@|MO!oP$6N;yI=|1`iJ&idTXBkG1N`7UYK4Uw zfxO3fZ-zx5n@NL!dFk5h)JuF9(Rf-Al2E1t%V)kMX5|r!NQMhM+3UmfirtqUoXNV6 zXH_|Qvd)?vFD98(3*OJ3>mQGJ%mt%U(Byv7UwVr^Hd`ya5?`0W(JtfGxw{+Aoe3Vd zLr0AYwpIQn+W&L?=T~P>w7z*qa|y(2c_ffaLdFuR7TRb@JC*7m|K<EIB+XDJ8aXUI8c2tGoO2flEKCeNisHge=eTqLk zeFX90xPwQJnreHRIF!zYUFkfQb6VMlDqT>y)w%$~#qr|o$rizpzpKS$c`M`pJW|;f zHi2)k3D=*%2y9Q1BZXmBGe8Fdss!SbErCQiN?&s_{`Ie?(*CC59x^>Is=Sy=X z^Nbn$&QBQCw)+zNfVgmh*}2LqTbPu1GH=dJk0n-3eR3{1vcjWT4esAypc*z?h_B0Z zNkuax_9dvA9eem_qnfYqs`$cxFV*uadv+uF=gX{(>ID4|9*<8p{}2@tvQX-smG8iJ zY|0(bIR5O=z`&PCA>x{YpK5ENpox1|Ir-ebP929~XfV94P8Z{4_MI%}%Ax~%;-syD zI&R@(9{5-IHRXG`$6pngjq5HuQn|suzGrHw@5ViJh~V*)pjuE&@?x0j2e;^DHn6U& zaa9wT&E}JZ7w8p(!6C1EZ%Yy;+R4~!BjpOWnMF({xgA#>86j|P6ZhG0-Jc(i zaEq+XBBzAUHPJZ!iCUO+vUWuPHt=v{gdk{{7(bK?tT{9{jrr$kRz!rZ2*>Zw-G0u# za5l|gG;Z|o2i(9PQ}Xu1B14vf`}cnAuBX@QnnS^(?lK_tLERuz+Qhc>HR4e@UN%05 zSGq)SIAVpfLs7+7p5PC63!Eu#b>%`8nCxh0Y=oS&_SgEKZ;l)(Yl}gAs@Q{0FvV#Y zubybT-i_O!x?SC=Z`rCP?tkPVle)=*fR;Q z>ePBd+tQ3vPEXZtD-}N0eMn$+$M`H|&ef>2{`mA4##z}XI1Bc&p(ml911D3`_S!xN zUgq8Mm+c+8d{rD&uPY@>8;rXJ89nZpTZ2Z;#}>+1Kj);OCRO_4r!tj4$?Xv-t;O-{ z*710I8_GO-DOhvSjV9ZS&FqR=xC+?C?R??amC)Ug;@4eFB3&}|sXWgua>G)kr$$)J z27|C~Vq9^=u0zK`9Fo+G@MxXNR*a z4NI^hqQNW=(Wgj4GwHN1NeCW&gB=>O8tEnme)NN?>4!>m`=D%1YiT`giSy#V32RoX zHN85|#SQq2M5naHyvzXD{06&xby@ak**>(Wtsr1neaSg()sR8&`GM0>J03i!Kk+KD z3ugU{EHj&Qt-ly_Lp;Ru`VlN5a#EoCq%1f{TNqdJANydaWfJ( zY7}FqhA9fS&!5NP=!&}PGG&_tR&#K?E5$0yEJF8zvZ9H)gIPr&i`$&X^>*L+rGBnu zv95}dk=~c6nOS@}Ui$Jsj;jRDFK>F>fA5}wvQGA~p~st$Z1x9R7b#@*;uvn=@A=;O znXL87yels)tfE$%R-etfpXTXYT}54ePQV8JbK`InVfzWfbzvukghvI{$;-rw7%NxA zXP-zkODQGwH=A-QSm0dsYjbRec%683MeT>m(R--H9bEd(($G{c;tJO}_=}ia@t-f9 z!Ma86WD~KcIy_gv58!5X9fX05_z3UscQO~ah%0nmd zJ4zuqj{!#&A7^yM<@mI5`h`JDcib)1HBQ>*zgeLcL?)iV2gVszWS-w+WUo$QS5 zkJhX@S)ZysRx1~=wD&7)`7S>AqBj5(LA@Df!7BZ?-ego1MpWayzZ*#%XrWEbS@kz# zyw1tD>@Zr=)0CHDurP}~f!}W}CZ%=q(4iX^`27-p(>JQyU;g??#gjqA4^#{qh{+i^ zW`>PFnV%i8)UTbh06R*z&SNVM?G4@ z52x#KzKM_59`t;QTJbb=YPfuEoYh2hLWhn1Fy0?L`btXMlQ6<(6AsQu&yQGID zo=s-?_9goZCV=r(=>)pRT(TD*n9u;o#5!kd)2p>X`4AGH?9G}U<5z6|aL2SMucDT^ zMCIgL?JP!am+bHTFOG`p#_h5pzU6*+qV1IocMWJR{17GnlHTOHWrIBT_s4td6Et{o zmFf_fMgxDQsImfGK_Z{X&^YOWui zWRw+R&*W{VPUrUT{gQArc*?D}u(nb==YwgVAu5x3M^f^k@tcGhc&geUhuSE zzM&(7~`@O-9VVybU}L9y{>-X!Hgdnf&Ro{+H~d!T>sZIS#pYKWTin zivHh7)njUw1|IFqIKqD_c0RpE%+RsCk)M5Z=z4J^THdsWO(8wpqW8SD#49gosH2q{ zLca9v@v|6dUC+i>r^Cy>~|IZV-R$2Ff*ebqM zFLfg0fSr=rqwh}--n1IB1cpx|>CLWQ>I5MTlaMg!6YDJB><6^}qvvSARN#vlsy4A*Hgmdk}cH3*x2 z%*6l&*~waEo_zk$R70S-GU4&wh7HGzjei0iWVC;`A3@9aDL(qHFIC#@YYUUy=I1bF zU*w*0_H`Vl@&~Ph{)<}@T`PlBuMtBtS#~5qatG$i8p{gt=+G81mDvS-?RhmH~*Qfv=9uW z%y5^LtD*yM>ztq%c+#448e`5{Bv``qb(+WQ6vtYtOMC|J3uz8AUqA8x6^Zw5G%@p3 zUZ@!GV-20n_bd=1C?Ppn{&auimlHbTe_m#?p~eZ@SWwk>>6&e+PvGhL_3Qb(H|MRW z!2=TpnWNwK(re|+p@QKq@euG^pBrT(99N2yu|HpignZl?g43G=?}P3|KIyyU6}?iuk0Gv8Rf!s>TwdRahCdaMu zSP1tS6eHLO-ouBfKkIX>lvMUl4_>UmndaM5E_~eM`?T@RGdw!zyO_#@Xc7sJHs`m3 z1w1=MPf$8==k|kG!47R&u>y1K*oQmBeUs#ZD!-WD@Y@qRfLX`k`1U!*;%M#&#rQR` zdY;YjZ1z80-w(u!5FL$}T%3a9b~Av+*>{$w+8PL;`*`rR5g>sn-TrkBKBkGvEXrSB z@}&WGgj_%5N&&B8Aouwn#LSKEtXa3UiO5%H5%Ht_1vsLWk_UUAj~A}Ld*F`k*QCU3 zizJPTJU@pf(E$wsqI^M9M%#15HM+BUtyL9GN7puc$x!1|J=bJ-jk8 zc(lJA{;zfc`HF}8^#_73p6jOn;bSKc_O)vN?X-8VoG*t^hQrit3=CA-{e!k~$2s@N z2X_U#vSaO9V#8MB)o8SLDl40juq`UBD_%JkKi9L3;l4!PL$K>kdRO1m*uFQlu0AJ^ z1&_up`dNtFx_v=!SXPp6DT2o=_nj`*Iu|M37dZL~AMy7fBqnrV-=lucZ&97>3SBGbz(=v(9vFQW)?662z)TH&TXOaSy?*X>@92S_BNQ1 z+cDhn!4!k}7Mjo#fmfOQ1c2%tRpH;;UVEv2xKtkl#BHF!v6$}v%dv**5*z-|)YWZ& zWoHWSlSX#cByl!8aQO=Xxx!|IOe9y$(44vVRUO~`8eua33nI$jZ_k;M(PhgYH4b5| z-t_r_;2Be~yvIQF6F=_@+uwUUw6dSmLT+##Bv!CroZeX7u7AJ8I}M-j%#kozXe8o` zFWe@3M_&JSAK7Yxo*l`odI4bkfPa0PbFgkku$kxgw=|i3zgDIJ%3zh`soK7OPgt>@ zy(;0a@5}-Dy#hb<00gh){*Zh=%q3JoZ1V*qyXchLIG%TZ@gmEa%1dwHmd-d8z8?z- zy7o=VwbfT$jr0(J?$hEPQ zGGIH5zgwQA?!a?Q+6i=Ahyw}giim}gWRXRl-sERS&>_#p&or6+ikygQvT1MZfvo{O z=eXedsZpz$cBnQ4OhrC5KmG{V0e}xA1%-iAujpBPUU`7k!~l-QO>7G~oNN1oHa`wc zF>1vnl%&8lmo_~+Y?Zj3{`NXFtT5*?m3*8%+7757)a|vR(Qy_|;{bc?=8+>UOmRd1 zn=6GJ4BKttxaCXKvYBjyPew?D)*5f@*Q4Hwco^N-N`!%^lx}M~ol6`!r z^tL8S@bdq;|7u6hF|i4gpN8O6(`w*UjGmTLeT`ob3b*-y?^_x)Yy0<_nmyTrX)R9) zU;FQ4ZIF;uK6=wl{nmwt-VuRzGJc)rrV_O0|CoR<&UCY@-SNr=@vj1ctj(!tZuHL}lS+LDG@`{F)ug zhmyp~@qbz)*RT*d(IG$w|9Xd`4WN1mI^zENxoS4|uo>5!3|Ry@6RoF-{-ml1b5$6`y>~FTc{lW}kU}3-3g+Lb?D# zCU%H9{dzt*2V@@oz67q+)zoI!WGD{Tva2`IlIM7R2|ZoUs`)i;9BAFmdwE+T9|;~* zqh+YmYG#~R{Q}lJ=sc5-9(;6XbqO}SI%IBHup%yDiTnEKVoB};;f~kjkCukzjkiJR7R&YLP2_@=W zDZVcLL;mKq=iMbWM#nd8iY&f|7X+UL=y*okC*8;9@ergHid$7!hJi!$e-1Bxz( z*o$xSZBb}t@f@R8Te-p;x<;=b-UsfbgHaRPa+$kseb#bWUy?D3pov(GQG$QpqqO)R zWrfmx?qe7e%ydxKR~&|=L*APVFZTQg!oqAVjnCp{7i8{t1Dli)Tm>bJ-R1&ncU6V~ zM{JDb+MrR7SM93za+g$3$Oxg)+`e>_&Zs*d@P*hjPp;}Cy)5+ouaAazi=w3co zASBOUyk6>nt(4XdUzbmE5oI?N6yC9d137No`PrXi7{uo)0t4&2-H#kIt4pb<&_FG+ zyL)mpoCr%qc1 z_L!sX$_>6JdJ)Qrz0c;2twzN+2{oDhEp{jmImD};wD8Fl9q*%;%RMT^lwhs%=Ba7P zN_(uPhoItrZ>eT<=N)-3e2opUT7RO2@*mU{^Wafy2?+}X@>Euq}LEsauG*pSuAcqs|Wf}%5JZFE%1WsPuuSwWIo65WQhLVNjs!kzq|N3jk-t5!`Z0ltFHey4^At>fbH)&lWQE_)mDO}{wl6XBWYV35jXoLupE<8G-)ApJ#AWsqfSHm| zvpordgEO4+fD%CF8>&1}MwgmP@@4}1&I~^RuG=(`R|3F@Dt&FZg&Av*aO`0*)~=|m zVoS~axvCS4t+gg)~U)1G4vqqKyWSdh(rrr{=B%bB_Wcv(tw7x~y!UH@j>%lN~ZheF>1) zla{XM+5Gy6q6hFr<$bw%jZY5>*Qe|4Wnvkx?OuFMQdQl*-yYC+`JaeoD5FpC%pt4l z0Bo=BtInMPR|1S8;e@`qpsgiXgVo&<-uFGYC3=b~tKDcQ*~6 z2VgnR<7ak+j4CLH?29iy6E~PNQnt)E{##W9<$CttDpSBxUv(I>&$#yKggKeluBq)K zJGu7F-W>*!-(r?1MqaFa=mEN_X+F7KD|qyB*zgx+pnRO)Vw;Ihd1gsFRTTg57QFJT z^8_SgV#>XfD3oI)v@$8!tk5YQ&pq=R0Ai_~_30{3;S~Jbd`OOu3wpUc_61N&KJ8VA zt_cK9d7!DuF-_bqg~nZZi@k8+!kOaBKd=uo5nU8<1LZ92hoq#tJF)D+YKyv+VH z)1#-+HgBG)UMad%Lb_OMw)awt9_opthzW`sJVxhcMi6sOzsx;&bD5cm$#<2`w&8p0 zl^?0!+g-#Yxi9nwpis1^cFh=BJ}$bI+(2s&ND1-(T2~Gzl2yuN_BC;~IXgrAF`WCO zE-F9r?ElPz8HLS&+RCJ;VcWpM0?8VP7Asz`5NfmKmDem{simCFj$+TQ{J_qfmxN_v zJoa^AE7GO50ir*@Z{^0ip-yPew8FYiCpT6_juPxhm->LM(eZ92fG%$Tm*YR4AC*|Y z9!neATYG;FD?I8tI>2#QyLPR+j8{``l6{G1fRK$C%A}yVASG2NDSWDH@Zw^XJmCYK zF6g^}2En^scAvD2`dFXa;M1-VXkD5Cn{Bv|?!R5_o7kSvKk;w9gnHirMGNiZ*QAFs z2BG_sh}%1#qV&YwWiwZfinjrU`O2*>S!MU`q1VSo2dfvHfB*iCnDDoW&HBMwta2fv z?YdscGYa!9g;*C*0`_*NWrYl^s5~}5OAPExcHnVxwp%>%Y>aCqi>KE?_gv+*eG>;i z^-`7SJIHlY){xgX`G04}28f?N#YjuY$t~CrVW(P2?y=nsnG1|U;C8(b?*ck2VNLfJxAgtmx6|1tul0AUXTE-b{;AAO)?mK@O$H7BW4= zrQrkqd|nGor$bG&Bx8V6p?&ewDsbXch@be6CmL_^@6?ayrq5@QD$*Pb;;@y>()IV>a5KJKL`fB9N?Oi{+r?k zCo>JgmSji+DSkA1V-CEWV15asu{t6`V#i4%m+&dKqOfhqMy%^tdHeqcK|aMK?mSye zs-EkX{eX0Xw;eO7OQtNj)gc^dV-WFF9lz#`dxpvb&|EEFirPa7=y$Zdlfubq3pNMh z3q8?aFtAodQ@BYAMmQU`MR^+=zpsfof2eNY?nu?3Y@sRkU@%z?S$(J3yDcv1n_ zYnum(%8DPgUl@+Yktdd+G?7$jaz1*aX_9ItYe#tBqsB@~F;qaGIDzIjmkTPOCNn_= zM9NOYLD#W-wN2eqh7U<<`? z!T)ysmqc8tu{gY2Qf$-f-up_LVOvqYRf1b9gp3EV%mRllfXrisSkfihBeO?uNUAnw zVKc3ZO{$ac!Z>*;P`#h2EDO^>IsSvxq*e&fI`{TV>0z}O4ktV`~BHYv_wO{^Ki;k(eH#SstP#>&+! ziF{-Pom8WhA;YFQ2Zhmrf1ftKe!?O$=vmQ?rTKXD)%Rj52mC(LmKg04)SvJF7mOEx z4$IVC2g?WcqbshF()2sr{wkmdTF9a`-ro=bPLV|kopQ`PYWod&{{=5I-L zG+L%6b@)DBIPwwF9(^maFU&r8_G*sDY2X3fqQfk@zS3I?+nNVkt*6@;cx-E%YpQ1z zb$@Q#-|DatWwjD1`nVnwnBH+#R*JKqi<|*(TFoN;O#{EtwD0@7#d1idh;$;&Y;J}{ znV-u7@UR6%P(+qS`v4ScmKmMlk{K4t+28xam~S8oJ;G%}R{zWb#wX$*J-+Oo8R4Ak zgzjbdag*C3TtNQyHKE2?6lJvzxwq`(9I$fu{lNUwpS;@9%O~>}tDCiJak$@y5Ud0c z8M1`g(fjFPvv;J~7i}imyb6R+?~whDTyCCX294kqE3RWX6(Rkk9jA|_>eRDB45tXA zT`4%C$y%W3*&qGCaP;j85AAelX3ap?33&s*4sy!>kH{nrH&9FhjS8*;n&+H&MCu|G zc@C+k-@dSM2|(M~m3m_jFQEeJm)?%xX-vC8&NXarqY8Sa@jqDMG_IAOcyivc;HRnGJuX(tzmboJf?emfgC9T{_KRoAwAG|J=A* zCLvWTewmox?azx~gA0v#fo`OgX`M%Cqw>=ml&MqMXP(`_Q~5e7YTuC639c<}&c{~R zhfV%w)<%gVl$}Afkr3n2K-QW~hR(rU8FV1i4J4NX5s3-<6)fk#_e-Hc7NU4@S@Q7eJ>R6Qx!ss#)e7E9o2ulHK7yg3n)sat52;b7zjHClT9?Kk7oPricA1VR48es2`}QT-nN-R zbL(71eYemVoNg1_eDKrvXV7E8VHU!5cl-r6W079=k4%y;)UY*d^+SqkG$OyVvZ^sVCPc9g>LE~ww6!h78xt}kO0f*b&gnD99*#CYUX9u;0U=MGBYmJnVr#PS za>vskD!`5ZFwSbu=d*zW`t;iD|h5NS<)TZIB1CcSD^_^z0PJ=-r!LX!Q9TTHdL6C^g40f4;i8b7^Dq zEgMm;mjvJRZdS{=V&_q}5$#ZtJKE~i*34(y3DQH8jrr;9Acv8m+AO!aN;e^S5)$(W zrY|i_WA(eIcj0&dJe4h4xWI*a^dy(Mx>X>J%?aai^JfjyKCwBX~) zVMTa#MV&7s?W(XZ+;T*|rRG)_?4^|g;+Cu|bH3w`=b%f+JGq|8>BvqEVJ_Q*LQ;vz zHjwC=z=Xyx_LoGWa_6suA@w1H0g1Kh_wHHMC4mHw43I~Q%>zecFH^p0P?knogygoxF;#n0oo<9!Vk0q1BX3Wf!%lM%rck&1-vKk5Z z^ang9=Rgdouz9s|6~?7%fZ_8)qa{eB_VE5vdI_j6!Q5A)d^Hd^O!ezZ!sJpUZ!TXX ze{5n*3F_vN=Uiae#@yA@xDYPhRpCMu{8&cxr z_2-H!NV~m~wL;6nEdI;5|eT*SpJ`Tf>xMyHgKqe6gx9# z1*(uz?{O&*GJNvY+`26*GrR~3El|T#`tBAGwme2J``i{s{hCE$q6W}!QijgC)~Zv> zhJ=?BF4Yst_JvT1PS8%`fs+9q`@9y-D#~gkahbJWQ&P_6`$07!AeDb5po7l@{}u^( z<>Eg|Icj7TYT(gvq_@?J&&xhRKP*n!`gyn`+NwTvU_#xY9IXS2XRZ)RV+$DVuY|g! zIS)GuZ%M+q9>ks}=wpezjNE8}E8 zf5FFoO-{-_F;Y68XldpW?!mpk5!{h+;yAf-wut;L3KjXt7=He*nohGmz42vif8oA= z*tH0Uu{_6;Oh5H!bV?htDST0tyA}Md7aQw7B}e054;Es2g8Lz?98|+ z^t4}EFqsBnj=~{UAl#mfd$nU?$0n5gn42kI)Fj$D=(k81Kv>VVN(!dz_cDGP)dA3~ zHDu~hm`&;}?%m{>XdmGrRdOQP~^;wF?;GmnWe2Hcwv9tMpZ3K!C$a6zI{ zbQ<~U&l7Z_({+;SSrZtjD5#R!2mS#CqqG zp6rzvk6mF8dYi^EhD$;GHe=7}(cW$;MBgMapTAsQxaG}3Pflxwnt|(G5Y_`ExsJWP zl2WmQ%-N1Nkl8oW>IGvWFn?s^$HjeE4iM#`Tnc0+$Q{F6@laWm{AAEl)fF&NbRcgs zjsR0dVATapFkN+^V7;_--mP1=%)_ps)|>&84%AV!d0LE7pPR41=iB{c5&XVzuGs-u z>lBCw;Uyg!vT_l}hlEfb5+ZkvVK6adoOcQ)=nizjgkm0>f>k|mz!B6n&E55Brzckm z$#(&k40Au6@W1G7^57Mdfx?2B!9cOU$<6s3{NpwA{ADPQjS)vfw19Nrvni)xHs z6&JUOS}imBN!sV~yBi|GvqQCGHIgo`fEu0dj5WOBUxM=WKvbfaOq9%9nMtZyg5s1r zV0-4(Id@%*f8e3lwQnItXEqFS3$S%SpjcCb1DrzmCHAFPo*bfH*}ouOm!fF{b7B&k zH|MNazg;oSfpjSbp)h-TF2g8h?*&b1lm-RrUi*?tzJ)e4%4O<`uD)P7^+S||@gjlZ zGxE{<1}{k%9lOJ+2+RXs_5R(v-(fQvDqz2XsLBZ*>$5L%HC^ebfO4!1=qD`7qQ{A6 z-2Df5xa^`wnuEB);pZSLzAl4`3ojHsi$Z2VZ!Qz_@A<9(n{mA6zC^{Z60=7;o&mv8 zbGj5HRB)4h{kAZ0iHw_xhC}sbapqAYRBQFxblr9nCTTe>a6k=I8KX4xb)e@#Mhwpp zF_(mU2qFKX!wci(G`xX2)QOOxB{a6|6Gce^3uc!JmSR`CTFxNd%qH>b-+#{T0dXT( zUEogOXw8$=PQ^%RYj{#Y%(z2GN9Wwy_v-qncN-*?^~WFgf7sUvwGYtL*jTv~OcfMV z54WFSZ=@Kw{BjJfgv6+NV~Gdb7N&SE6t9bHe2Z)wD8l06;+`TjF+64JUU!S48squ^6e|x7UTat7JifnXl;a>+SW_{QJ9NZnw^{ItrYlJy^wd%Z%5c!n_PBuy^w>P;d1B(|P_pwm)cBFGDV@@x;#R zp-*r7A3@Kj-LthZya7u4xou?5#(g%gACJPE3&`RZw!8r9I_;A)nKsIRFLr2%B47m?)KGCIOxf=0xC*k^YzA@Z84jEHz%+qaKCN5B|YQEK(bXL8$PLtDl z_WI-;@t>V`bP3(_=f_)7YgQq1hCM<;k;fH{S2HSpXGL8Aynb7f2Y7v8=+*P1eBN-^ zz*V*A2JZC1PY<3=q9O$vl|4`BS)4c{O^`oKcZi~G2zOOCRX#9-90|fzbjt0hTSD@O zq3Vo0{_51WFLhO$p!~`^OMfVXD}|+GrBqTQY9C^j>_;KAv{2-#?umA%-{)X*Dc7a} z=@2dx$$$=F$e5oUQpwbI3M!e;h=f~S_}W5P?{t5bdu9pg*)#fUI~ea|F+u1%Jw}2- zMvxlNn`~IjvHq;jpWmYWgiw2ApA|} z*&yAS55oc|-WIHT?4f^Rz54FmbYbx_??@rkUj!}FcWM5t{qP~{+6a5VDtV$k5TsqN z?Xm*flVD1L*9fyyo4-ZWzNd_f>!2XoD9A%oBr)w%Kp3(~$5 zsei)T%L?{xXBA9`kPV$nwb2S6Yq4~?^d9HrZTeZ+y#>~K*) z#U0zA)-%0(vDH<6qb5N$rJwT|yp5K@Zx%txD@2}}b77*#OIGiKyIhb_FmE?HaJsmEHxp(C zm!NzVkhdu^g%FgW>7JdkDsUdxGst9l_bnm@*jz6~UbG#M56^EI?*xdS9%VO5b1^)b|1RV&EdMRCf87TD; zvrRd9`BgvZ?%g*ex$qvCa{??|`~3cfLJ|Pwo6DG#xHXLEJ${7Zpu#g{Z^B^2AY}y6v2q_(unC5;Uueu}7oL2CMp4ZmEL^B|}!bHf$oitZd10(A6V>e#7^&LPWl7 z4pT1s5qh@7%UrYa7k>^0c%d8u%2PnlMsC=1<+0afDUZdyvw&yj>c&Csf3aLir@8B) z42cA%pdcfw=`Ueg>8TM^GLQu@Q7U!!CH{?-%H}psZtgIfa{s}o4q?r|Hy_yrKA4}H z)-?n@k*bpl2%*`~(PRUrt`vyT4c&EsO{1mvuG|Q~9^uXY{%TYKoshNagl%H`VEDq! z;5bFwD>zea{_h9+9WmTMd4DD6Hl<&qw`!)63d(u`n|((HP1qkmU^t^^CNm>o1_c7Y zcJQe0-u-H|4^2;`mCLR+Pt&m?V@#{NM@$djfjV5RtHGy01ZDIFu{xAXxQcb|pJ1(o zA{ezrCOGLJPKA=586%zbKXbX$%-Z2D?CsjU4MD6@$$z)amB&%#U}ITXJL5nh1bVeG z(1z4=%XoXxGi@QCv_!PelS9(-5 z$3_!zz`6nEMR%WSCuoR#&ESA1#-$<`pfVfg&P8wnaJZ36pg;$ysAkm;j$bsMRZ@4t z%rLAK`KB!FL!^Sc1&kI$A&8EsBG;A{T?z=3y}gpj%reh#(8%ynePcsD}8@-@9xDM8G7NXK;fAFZdD#1WEs4EFDa{KYf z3`lrVJQ=0fknyr*!;?X1R&_Pmql@9J+V%N77g}p|@Vu@&|08R`;YgG3Z-ad%C`E@{ z$pw0_B9wx-0`QofPT)hCz099uH#TTufIks%+VVebOTLQrIaKcJWn_k0L7f$X-+I(h zn3AH>`Qn)A;$aMop7}xa7J+JedsbyiMd1@=5;+`hM7mzvM4AOpZh5`*gzL$bi#947`~vciw| z7~0iVNTJ1P&G)(&o06&1OChv`j4v=-`3IooPJnk)+8GocUiZ;h3%N6#y0rM%gdqJHu%ZGh8% zXDe6_6D-+;eBmPJ!2^RZT2N<~;DJqzks5Yfv-ML>OD&)FB+;{5U&)+g2*1oxM)Jn*spro=nqh7&;`Fg|}{ zgG84%1NL{%R%F4n=SSfTi|a3=7pC(XpWP(4#Yj5)o~Hj>dtLZA{Bb=D7Dhxk6%i_K z(kXi#cuP=wbdf79D1MkXPrK$OvQk`1v7mW|n9h%X1-_@8S&RiF)|g|}ONTa;saJCu zS_f8((ARXlUl&_^!ui0^EmbKsaKWt~&Cic?MAL7GAXD;?_mT|eZNFx=(;$9qMz#i& z@s`l(1TLvZHtpY93>n~^82o;)wUSAb&>YBr1ub_H1gJO+bOqpd|LboBnb0G^qy0WY zQx>Lomn@R9CW)0BL?L&n`$TUnA+?8Y6Wer-3kBEL4HJ)3x@zUJ;NS-Ba$yuIYROWg zR1)Yb_$45etCg#q)5oQePXj zf=C^=@A~%SG|Y`5$3zvw5Q`;OZoj`te0)5j2lDIwmQxQl$*! zY@egYj`dXorwDi*BHpyhFA5ykJ_yhqU_Vu^ehv%HB@6Esqfb(s+erb5IrEra{jb3(77E6(2>{k#pq09<9{N3PG3k1I9*+qfbex8R4nudi zK@Sp%DRBAO<7?(OilBZ~{w=VGoei%Z=P_Tv2Yo;Zssnn5vE@$1X~ulCNw zpX$8*|7z}PQd*T!St>0eW)eb{R)iKQWu2mAI|#?_v`njtNGhbo5`{z#PN)#Fl_hZ; zOXy_ZcaGodeVF^6nfv?w{r-X9JRb9ydDK}x=ks|l*ZaC&ujdt>E1XDBM#2H<9v$tW zF8ji~TO(rxq$$W#tCen4+x|7h;VH&eBrJ^2kOi5MxM6?DLBPq16&@;k3}%|l>6Q;G zu{A?_j7lwAPxlFg`WCtX7YRuQHT6Pszon7~I}~L)9{YriYV#Q`T}QJn^DSGv_;IQu zd(+mfTYpzkzqLwp5a!CsWEF)s^Oy5%xgVksG16ze@XD#$?Ja@&?MBD$_1AjnzPmsj zd>)UyDdYq^DXzkMT~3+&cfw1iMBE_h83b{~3f|xE1x+N?I}SaF0hJ8xo$ zSvBJ)f}5&-{S*7T03@_7HLKUHpIv-wl{nx=PF?8_r3FD9z`W8*JYA&N_O&7F%HbBP zEeqh}Z9Z|iaD$Z8ewSLes3%XKzBbQaQt|9iR+$?-%9XhN1O}G4;`7?IYl$dIXq&xg zzIu|FB|eK-fAJ1vi6XRm**v<;??t+koVb+kSH`xJ9F$;~sn~mET$gOtXaAz0yJFj? z;yt@HP|iD5P<@<7?R)nBGXX}sp+WykpZd!+bZa^+#ef zL_9@b+u7A!@`K*JU1_C%k_Wx~RRn!*6FdTpM2F#*^zY7?A_TqliEd|#8vPZkPmj(o zShej@OIcLdK--P;Kh25Rd5O0g57RUkIlxFDxQ+`cQOjSR$l6M&*;WyKSRH2P6^c%0 zti~PAJyPOk)KbSd>NWfr5vO_nH{sw-y4l52hU-z!!Q$yMCsOmT^i7^pPzsTZ?bObH%Zh}fF;(G1qMiVbW3FD$lSU)eMCxVI4n9EFUuZoBY8%#!Al9Gf-$4FP!df(H% zZUrjiFOyDO3}tjGT9%60StADXnoOr-Z~s|^e5{eLFlFx*s6OaN>_~`Hwzu_5QE^VL zR?&l0lcl&zgV0X{H%9;&)6T_Fw8BR1FGNShW=y_*GxQMUWvY~9;lMq9xXywkZ$G5f7SG^0SC4GW zqJt-&V8=#UnWp-MUr>Bv_^B6Vq!;`y505aY0qrsp9M|pBNIad&kUXy!z2>zwyCWUz zSU1`Jzr4Fh*$a7H+#-d>?78x!s^@WY`Q{qqr3EczQVa{<(DVta<#2bCX;;m0gJkWr zZ@eCxp?EVwu;HIX31#@av_DZAZ^sp&<5%SfL>N*M9RFe}bShD{5Gi)f9+_f`7b5{fYOPH=>kPABAtZBedpz|q)VRHJz;p^x&r1_7AMb0FYUIrafXhDm<= zLtmA2uneuf6c!69Z<4ib!nrRzg{B%9T?6 zJ%>BxCQLbhCEv2Dl$8*D@Ev4lJmFsaqH613x+Nk|FYRy9%;Z#CLmWA%nCb|TLASk< z63X0^kkEp=MFTgR3S0(zU?76#s|`Aec!XD_b6^9x2)w1sm4;lApV*4dXI-Quadv|q ziaylIV(M(58#!EpUzbs^Ml2d)rrJLzr**v(lh&S`xc;T|yf7)I9!|iKd2*~;x4&KMGqRc!O3P3dEC^u1j`l05V*ExrVPQDiEz zLvt3UeQ?5BrEusRPs=ARnT6sKZI;VXQL%p%9CkwdKMCE4S@YVBYTv|tMugKOGtj2> z`Lk~7*+F-#U1nH@O7C;iE;aqVG{|rblJ7uaRhil$XPN!8U02oPi@}kU)SeIFQDI}A zQ?*azT)H}xu@HU0vL3z`veUp#now1SA#W(_mz&FM8)(}gYk87=Yn8(;-bpw5It3x6 zwCGlgrh*Nd4Vsc023{ds#gq4S*nvkw9h!b-$PK%U+q35rnj*>csXy@^)dYOU@F_%S zjGe@)R`JH$YYZdbPXUWxi$=qH%5YfF8uR`$L9hP}2kLJr&AvvJg2lYgY~-x|RuFJP zKokm>q1Sw~rAuhK|5yzooRZ7L0I?OKf?cM}ds^H;@8jJf*y>PE!AYs~@t^ryEU74+ zpe%-RVyKeyKC3U<)tPlTD)EeydHcataQtt=59DnzB!7IS#9eLnRSlQ34Tr=8Be5GS zB()W`HW#wKu@j)56AOvdibVK}|do|1po zH6^4f0UyF;L$(iO-*$B#d-MI{cp$QD&%Rdrco%nolKj4|@y-iSs}WK0BPHs1N-)Er z>8cm!r-d56%BR^V<6z)A?v!+?73ULLvF$M7=Rwg|iSOJ76}845ZpNiU_|&M2?}td8 zf9H33XBHHP#{J$?YSG&i&{^$Yniw^uEG9>ex2hO{(M^SVeK|hBF9x%b|2%O53M0)~ z^Qx=jGyETVSCe52GeY2|fuV#D1!L9xd%wX4Nz$%7lgOWj`(yFTl=M}V+H825M6NkI zu3qVC{WshJ37fR<{k_c*sNLS(+|h@(`9r`F?myNQG&=a2n}f>jWKjoICvU^{#vG$t zZ5BK~ou?*Y910JjLoVUVmMgomWY zdn}{IHUURQYf)ccdPz%JE&xMZKo87?He-Wa39s|M*79rW30Pu3qQD@v8WO0EXNT3V zUvtRC@d~0A?jb(fNI_|=>;SfsTHecC74NLGS$tfvE&@{?Dbzyjui>K^LSCaOv5u3L zg}=ye{NxWlTn`Dl{scJa8#NUK^|y6YW6ocoTYk8a*k%6*m!P-aNqQE}%x@#GEf~#|P8XZ#)v7N{FpJAwEBD1D z9;Q!2c_jf6Y4Eo?m=+dol|dLv6B*{3l~GFs^Ud@zWy#{LRXXb} zX7af>Z{QRVqSA4hzmsKc(Ur1mg+2LHms?fQd4=E^nAlE4@3NoRpMUV=Si?7n`Tjf%6#OF z^3=q1RMEKC=D$dQecIfq-F2{0n~)dRuK!^2lwu68c6z$$bj-z7@oI1exK3{f;?vWm z@$Q#c2PVlnhuT@N-TH}9qPDu`ORq$hs-@PWqoyGX3BO?nrLpcTO3bM0r9V=X#Bp+i zkIx$S8KkB~^&-&5?!8&_C`0Y;=78A?k}8qnH8Ucx77=ehVXt!R2!Jr^$fwo`Y!cfH zqTj;4-aG+v>ECjf)r-LK+tbK;t5WdnP-#snRqBASCC5{o&>ftudRZi4E!S;QJGb-bV1Q z{QU^@p^6-VplBdYyQr{zB`Vekmv~A8B%{4%SXSU5DQolf*FeeRy2~VvmX}6om3aJx z`z1W6p>rfyo}nHIE)BTMajEO=5eph0b`6#r1SN=Ztwp|W)wU`2inS=c^TGDM8z=(l zWoArp@HH(nW@&7>zI<~G$;*iA?tZQxe-s%$e8+6Q70<2*v27RecV%|X=72PiL8;b* z6%;1NZa2vFC61=V+Wj<@R%Ylfll*0yVP*y zpGl?WFL80nT7vaHOe#>)txE25ce$`19OiLao;^-i5NIqx&y5h$n*G@ zXWY?l1|ZVlb-U4jN2u}#yR+vitrTpbHp4zb;-7Gf?M;h!6St`}=F9hgrlj^oYZbiY zDwOqO^zt*Z5&-sY3Wz&17tAMkQjq3#;EztKe#)JKARWK2cD*3=*MvzHrC((;-8j+#go*hXVa`Bgd05j&S)mfH%~ zE#O)~VwMf>FI6X)T@j1Mq$c_|XseI|*0W`$5kaNDSjCIuhvh-mgm>`C)vG_p0*e>0 z;lR;rOV(|Lq^f+h(R>>${oe`Pd`ffF-?jnbwUrvb+-W-FA7Orlg@O~X|$lo!H~Cd`7c*XHUPznv|1)-#kR3VUxW=P zU39)t1NDQ&df92eO5t1Q3s=E22yFZgjf{IsJ3d-G|4;9rnBcW*aR(YfMCh6%kg)GX z9kSlT?*`mlt3s{DUG=XLx42HroP{XVH-Dtm=1$g$Awp~6SB*E`?ylxXS*6(YAZyNo z?R3ZoNi;!8s!VN|&5b6i5~G;Hm0U%*n=VX$k9I-WMkF)gOR=0Weire*=SdLG7F>k$ zzlk6&`ltR41fkJFl^Hl{fao&@tfKHdFsB@!+D!CC#7Cn zn%Ol-ka9E9se$5+556iny(}S1ls4Wb)%0;)QJ8ddp{0dIk$uy8l5;M~HDiMI5DS_5$HM4`c(r zeIq4Ap5i?-E^Iw9=}q@3zxNwxo`pr@8;^Y|_8y7o?=J&lJlpoEN6s>;oMN?Y3HkIs z^%)oR=vINulkglybJa~_A>gDJ)uK*3*PG)8%C8c7LI77FVJ`_SD*RZ;`tXF@ocXWl z4_!g)wf(Fr&Kk1zbvi`f-5h~4b02DN0Gu*Clo1-8@*$!63MD!FNKZHUkWU4yC4at| zC0 zG2a|d8#&FT1A0!p-g?F_{iw!O_(Js3l0uC^67E05_{;)};ii(uE%m#SajK^VZR7*6 z`0@zgDeVBFef?d-e;_>%9m1l;OeIw3#fx>p*DZ~R>!~St13Ms(7#I#a^cl&(kkDYdV9O|4}#chP8=l;$DIkAO{lBU-5XaXLx})+hJt$0wrT)PpLmd zm3y!LhZs`p{v4_iNNacqut;MWH?q)+3kjWQ*#O2Aq3C)P0YXwm9I}D%KVfLvw;Vht zT7i?XiVrEn^|w$8Okj#dP^3G}-brPXL=q1Hwi}&INa%EU#<#M)eV|gyE~CYk^-!6$ zJms!#1mV{4HSW5cGUF;<{PP05ShuZG3yoC{M@=;&aI8*pU^W_Xq0XEMYVwYsEW3XP zcTG!3X`h1wMESUxxGh12FaF&WK;Fh)rvU+xiCa#nHJlpyFU7>ZRz-!~?R+C+A8D>h zLr{&ZDv($uJD0?@hKrVpx|mPNnvowEX(3lE8{q;har} z*0fZ1r4`sFz}AyazFCS77kp=0RbqNTr7X&~zk@z#uucnDUH3NDFLH&lw+*L}AT*J_ zk#GW-<9s!INA9*3j*9}P#$92=d3zsd=kG-ks45L~zA0m}_%uP&u1>2cKEg#kj(KHx z#@P#Q$!4v_-B+_egaq$=!8QMk?HOIkj!4`@I!W_2LHL$+g)#TXKpPY50#7*9WJY(U zh>90xb%3p&3doSgRS1_UO2!2bWaB2Yp=E?Q+*XIYd=*}v^ex9Y(e3IL+5@QcREFOc zHy5x0o;{VA2&|mW{gY$`AvAV-&2hGBZPazTo%F=$bIi3W<^lu%;I*$Pq2x@$ql>)m z%3fgk_mOE&a3(eeF?J8fft3`;gP1Rb|#K6VAH4ZsLp{CRidSn8|Z54{pzb zKk@0d<#|OvkI-QNkI-UKjL5e#H>!090hL&yGB0Fg#6thrvGkSx!73(PkU9$lX*lPz zE^7|7rq;0wTaqV*xa2w&?zdvJ(*%_b2=kECDgF%7YqS>@OvmUucOl9NSL*aT8tV`I zDcMWZ0Fu9uY2*=0kF?ipWf_ikDos-lnMEIa3uWRKCGbmb+-xFw1hRg-o^a&rB@s#k zOPq@K1RzJ%sVE_eCJQ)dSD2N)=6D^+@V!&`2k}s4B1vMmBp2@t$p;w$U>5mlH}zXW zq(q!L?()3IlcLP49wiCILVt^HzCV>ZU_}H`m&VDSP8Gbn}m7DW$d^P z9&dT-+it`er`$u!jL^_uS9jNt%{d%du={W2>r$e>BOlBV-E5%YG5D3u@@BwNMIUnQ z-a+hm`dl?FRmz1TzUDpCgRGE%SLVM3pnUBVv97BT6^e!1>#r{^m`3pIx?P)1k=xl~^N@Ih}&Y*SMYhv#!(Z>`~ zK zWw9;f+giXbnO%{YiDm}W&b-AWF-&?D;840y)rP(Qp_8>RF~X+nqe+Zx6uC8xPkHhm zd8&wS`p7!a&g zEa}Bb<*plBRCxV}IU`zgseB#DmQL1R>|88S0MO{&+%Q^o)n&eP+r~Do_8Y2N?zrta zbS_*501{HK_1+k3+I4x<4QwWv51|$#6E4#XHkG~`!FMSN?s~+ONwz8OH;HZ97jtMA zP&ApoMGw}c_gwb+8}$$=cqy*17W=@6Hdp2A795F%=Nt%_VnSDa99PO={g?kj&5;=yh!OOQy%5n1M?c~jG+yXKf-F8YYP#3$Q z;YO=Cmyl2oFzA8SxPnaQj#hVd-sMgV6TV;Sc^Bh-^hs}yD z*+`B6#e8@ODT0(2zPVN!LoKt;oK}1zzI_r=tC@fPmF-}|={`CDJ8+Agh*k`}r zxh_B_sgJxjxVCHV1K}2719!cq=O3v1qislymtKl>!f3GX!E0_qRIvAEd(Gorr4vJ1 zBt;5^v7*yUM+XN=5xlQt{qS3b?-mowR^~l26i zn0>`Hd_Ze)rM%2*WZp@KK?%}3g*t2RC6aMUe1yIM~ZYwSCGD^IhrZwbnT zFIm^#{xMKDOoi<%h)aCCZpRG&8*nCVTEBiTPSTZH(&+6Ox24ipJj?f3y=M~dv>8S&q6k49;RM1sj3>d zR{fS($r$6;szvq_QpPp>{mBfKLxW9LHigmrV= zf!+A+;JJUnsDBKJxgYVy&zDOXJ%fZt1C20#JVw%mZ`HPghokmae2FzY(mJWc2>y%A z2bA?AkJM(syt)5Rna_j+d3t*6zOe~TdB)Wwf_;L#&%-}HRD2u0!G8aYHJWo43hP0W zG{70_YQryzF?bzg0tOQ#QR_7Hx#17OSbPq8jVet4cc$3S`yXzPp7GP{XXu{z5n2L* z(nn&irY!Y;?VlOqX7t0NuTZ8WkKGsA*H-va)94M@^j44&qDx=~8bEFcD~WpcY-7p) zpr?El##!g|Ti5|TJw5+ARpgnWUfW+aucV%^)rklaj@To>XdQt|^Yxj}J24S@omA@N z#oJD*h-BF5e!<1PfT#7jQ%flxsy-~QdJL*9Y_#)_z2vq2Pjs->=^-* ztvKAuXmCge%wGbjVTr0fvX()A*NO*>&YXU)P8Y>|eyZM<%%qgzkMF3`IHDZ!Es^sk zY>IzT^?oD8Xn&QNv4D?HC%>RbZ?LN_9?sHemrWcNpE;-%hH8$-wCwDG~ps_l22TZ&T`4fqRKBWgb38Gh0&E!h9;3g?Wvx1;ct9KJd5kc)}Ml9>HpeQBhS2~*@HcE`1X^GNsdRR z*d$iM{>p@<8}<(u+!1e#2S)6zqbUs6_$y?>Cl!-VWX+~wMWn%ZDNZfApOfP$x9jr! z9LrW!Uj%fEEt0^8<40 zV1d1pQlrhr@5QTz*Ny1M8U$X@zo$S9-W((vA3EEVMe1;{0*x?}ESGj0;i=ZgL~eJ8NkV#)q-JkSy1yMgYkh1QU$6XWsBhlbFm9f>s< zh&MyoLLbmQh#I>hemGmq7U-)AX&4$KEVYrUf(Cz3%!04;i=W-W-4rg(6F7>im{dH9 zo*87EiFkIO$5e2OmXaw;yH~;vJ85PX=;voYH|}R{AA-MYS@HbOv3tD&dZoVijcmxU zyRi1JG$(5dCN`er8!yd*}Z$Cew>jND*yP+0ZW3e_a*&hpIC;QO7@AGzP@ga;2&ne&@U#To%&nGho$>Jp1q&M1W*sV}@Pf`KRz2dpPbiD$(-@JbO z%a<;Fikht=m%B56k|TyHvNQb<16>y)lM#O3b0Bm#gV^BEJ?4>2!ydu(O7A?EBHO z4|>zGIAaDGYXq|wwLg^CbwQmH8^&{SNg};f850l?7^-Z`58cpmq4<)#z-X0N6duzi z-SDgEyn9wNZlOS@E)CZ*T>%;4r2awes*S}8v1!ekZ}AW5YQq_GJ0wVOnggfL!${u%~EpQC_CnhiO=H$x|i20c#D) z722@1^M1{JH~ls8wXRPAhIHC*`gW*}Hd)!Gi7o0g!6je_h4oeA593kdL&IF7pmBGZ z06Y@^#-TBoeB{7X?bbD3BlU@Z9P!B;3COV#ACiu7;#_e=KcX~nwI8+I9gAci7B`Nq-zL@Hr@4S^2ZfD?AynQkmo}xEsuU0pUD}0VKLv#%*?q=M_yb`j@$SL+yK(d zWFy8U4DF4Xu0}I4`u@0bo#uRzWp^vL-6C* z1T$v@^jNsGNMjVNkmRE^|BPDjcRT)!THuV<>@@Ag?IbO;oxbQ*<53!8w7|V>8hV`; zbE9#mY8bZPmdIcV?2t$Jp-;zSKhxWkkD&G0bT5^tZ(*Cf+R#miI3#4P%747L+$@7& zOhOZzoOuBSoKJpqOI(3LA!#_UkMTmQ4^NrBOk?ITSA9Mot(i!5H;!2M7}5F9Kc zqd-W6D$@MsHx<_D=T9hJ>Uezbyo41#M3)^ Rm&qS%?%BUPZs+e8{tqH$p7a0! diff --git a/tests/subtests/baseline/test_hmatch_idiff.png b/tests/subtests/baseline/test_hmatch_idiff.png index 028c9be456224d9653a34b8c2a819f4bce9e4782..df51ee8951843e1df5f0cb6ad465fb0114b3bc96 100644 GIT binary patch literal 26173 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 literal 20709 zcmeHvd00(t^mc=aM$&`^G$@UPXhzW~qNADWWQx$Bc}}Uwkd8<+kdsCY(jd*LP)a35 zlhQoT^YE=_AH2x-`>yYw@2~H@F4z0MXWM%}!+O@b*S+qwuOHPs$V9)Mo`Qmc38$ul zr=XzTNI^lRzmgVyd1&ut1^?P(tEz8%%<`uZ zq$PGrY!lmf&eqn-Mpjbt(yzZDVR_k1vfgww2OhG@O3lEAf`Y{q{h^Feiat+4aTJeJ z*{kgsI?&|esMB#}Xk@6fT21-;TU8v3SKF;f;aAtSB=$^)s=Z2MyIWxXQg~X*XR|S( z{ZQcOp^z)-)p*+Dp{<6kRwC>x*6rS&FLmOum!IEf?I_PCm@8cE8R7xn3$1+Auf z*L=aOYtAWrLLebWZ@Rdndj7@dx!gd1e}8%b98o}ocKuZzWugEMzhFuk2*0pNbF7Bn zaobM)|Ns4ev>LI`_!fu#R5q^}%$*xF&sn;AL~)a(WI$h1UU*;P>)VS9b7Ou=^PAp_ z2;zvOX^z;Kn3$DvD%o@2`Ig>>IW*%0Sf3cZw(tL%7XN;VPtN}4%a=Rezkl!8>ce@i zF>~9oXNR6dMtV&(y99K8cvLF<3T?8n0Zx5<)TFTYKa6Q0}9M`SvY`LU(Wb8iC)W3eY=FSxTxrjrq>QOG+t;w{iA2WCS=g zJ4JsjbzPk43YE3<|NQ*8$@te-ZgW#ZT@`Xe32C9oj*VJ*?r7|GotFAua_jqC%aWq_ z@$`gA>n%sZS8Nm!>4~gMeAW4op_v~&T&9`w)z!SY*LmN4H&_tfTw9}Od*ZIpVT#>$ zy`NN*+-5q0IkUSYd1P&`)yC`9BpSWe$UO+}Xx-y9D&R6TC@3Qn%pq=gl_y&Bg{O8~ z5sT94lAG)1$D@_bEG;f{O?kirLKWQ}=D18H{<*g&{wnQ8?Hm;b;ol?l1 z${8{mpB2w&EPNZtKhtx>!@24L)A}9X!d(WRBqt9?)}>!+D0!aI{64MD_;^oCL!yx! z#lu|->~+QsSNN8=WNl-rG9nFkn12#}b|{3^p3%swYm2*+MO$!}P_C1ETg}{1UL}mh zeX(no(H;ghK`=`T_pwJUCtfZMEe;Otb{-d2n)_0Dt|eE2g3n`q+ZN5xZ;7u5WtVcV zP}7ZOc+6$6ad3o3F!fF4Eh#KbS}v8`kj!;_mp9dTN{@ll{u`Z=+Noi}gI!GFPPCf? zzs@t;?Zo5pY8o00a=sD;V{7x|Wk$+u*0#tijeIEWND8MRv5FhM{I;QGx ztV<&jy{fl4NQj+S$s$kj+Tq}yOmuwCfZb5_)g>i;R`gt&Y+2lJgHtkbq-EyKTC1U) z;pdinot=-W%}&IR1mA6+*?vLdU zirLKWq3F2x$yNyoAq9o7$jC@_x-cE>`~deAl6i~@&iP(6ALDfTZPdYj^@8V|4hMI^ z;{{l+R6R8vFsx5wsIK;+?8Q!kDP^p;^SCFE++!oT?q(kM#j$UL*U!C+b0YjiHmzkLt?(r$o1^ds%Je$DO4|BJSGYBYr~c5Ctz$HFD; z2z}+=koMCLb~2nT_Y9GKazSr;`g`&*7;|iHvgfD$fh!r;Q9atV_q+%xs-U;_$9o8r zv8CI$ds%M^3Hcb$dFTN}M+f=J=2Xv5HXj}py}u{r?wUN&LmlD4i;Y@vE5o&OA1O+1 zdF#Xz8q&W7CPYSJuMt^eploYwVUg_Y9IsoT-kX#+*xQ4)#fW3I(c??U!H~n<*ZVU2 z6nM9`za!tGrLSxoND=_U?yT_fVQ9TVN0=J?@ie%EJ0eecJfm>r`<-y+vS7b3HF%s| z7>$Zf@26Gt44byl%})8HoN6r(A?OO3J4aF4bdTuAw(t)Ic{%i=fW z#=`5uc$fcMG&ZtWr9`a|ubB{()ki2Nwsh%+hMn@rtd>bo2q@TUJ zQ65I@Z^^N`R^N|#@2Z|AIbnfHC6?$Tewf9MyrqgXtV&oXrcZG!nwGl8<}zVvkv#oo zeP!(no7Zq{quO=RGsoqLjhTL)B4*6~Ti|h7{TGELd~fr#w)(XmRJt5z4EszYw$a~T z_c`IiL&8WQ9I1Q?VNvps!3MQH?J!@lc1z(SOWHpy?E&1BwYcykc{TCw6AjJ>GLro& zFlPE2G%DMy8!jcE(U3Z9xtEf018uY>`Ix1^!^#D=6eSo)ouVxdU1jvTu#}HHpOn*- zT8C6OOPyYM@#~7Hs5|#*k z)w?t*Pt5;mX@)RphF7l&dV8K5(ul_9EoQ|>!xW^_AIz>FEi5y1U)Et7}YWMw8c~Q?m z-Ic`!(|-NkHbU4A#I1t&7^>5Y8PVSrqB#yG@A(87h7kO0EIm_(5hzX0V!ln~fL=`D3D#?;=$)Z?Uezo{U(FXtpq%tr+&AyMD zgg525(D}5_bhVE6V2|p-!=uI??)0W%AoPAB5S%rc`&;<1BcM}46?t{__55pVASm^J zp$?NPnw=mI+T?|&@RQSKbjK#_`&Y6kF)Gal9-9D1TfCOx8mnf!Zt~f~$&RhvRZ;|s zpnGK7AW&*~nSWX-q` zW<#1Sriygl!cXn*zfpRv^Mu!`wU4vqu|1pchFF}pFktBfpzhVg=i@j{&1b4NIBfeq z-^yrq?t4*M5w7q^O#t6xKm4tLi==0_!;)E4uW)*#;Bz#K>!K6pWm!$0CR4w8>NYoN zJ>IPq?mCJC47A6(ZAISVL{d*(5?|hYhvYh0+wL=YC0AFi&Fr{;T%z7#VWRG!NJ`=X zZ(1n}?nVzK`APj@wa-Z&Og%lOTkZGp^JU@Fbas|a%AGY& zqgP8Z&UyRx?KNGM+Q`NeaOe;6G3nwX5Cjq8l17X8wS!;3_EWOy{;x037X|VkjB_im zdU|k=%jCuJeX*ZkUSilFQ~0ew%J$sw$Pd3O$jhL{ew$CJ;>mu$`WzP-0NSRtaXRAw za1Bd4+uN-G@&$&59?ElHm(mQ&*UO4NVqm!0_ z3v9lpcV@0pRLbg`a=6>1f#UQx>cQ->3Q^f~n9cm+R9@0&mxH&~tE#KNrkdMFARsmwx6LtfBwAQyo0ba28K3DvOtj1Gx2FHLhgg4qWeYC^Tv%E zIESj_^&@K%)PryJsKt2NO_B0O5mBHZk&QY`Zp zcB!hW%8$O~uVQ!}qk$ZdSKCO=5X}uvUO5b&kg|&9Hr{ib{9-oKc0;loK&Ht;uihTV z;fw+?Wf=}`4Itj*yo*-YAF69p_mWB&7K+xVtNg>Ls53@Nj47Zfh^dqohy2U2W{t!ETW~Qo`j%=bxS} zpV<{oh-)rC^k9#)KF$cDna&OE6Foti{ts;`**MtQ_t27V@3v=z1Eim6^(lsso=|cN z^HPz;5q0Jj+cx5vc3hxk;K=_JJ3JP#|Ch5QO`o9*G#6&QvWA~fL|dOqC+pxl(TCm1 z79q9~FaEBA`C0Ek{Tg0(F86W%VakJWIvEUA-oeO4k*EjJV%!AX zap7Oil8p~81&t4}`1srjWi-ml&vr81f`W1cjf#I{gN3*FaWA|55VGo}cH3>m+*@mk zr<&INP{!1=1vl3fc=`Mnlts8XR*TRAlGwgt*CnrNNLIXSsaa&Ba$p0*(VaA4t=2NL;1k^=x{L zjZAwEZsHaZ_I!T4b=q3(h+hYQ1q5z>l}*HaFB-8(f1TP=qWdmMTR&z*<#eV+@4TZeOo3Qh%px40{AZ4#S3cCfeVC zxo+(Un9mB%e?(<%6S(5M8H>uI48KR^*jzB%3AM4#on&E~fjVM{P^9hSgs z{SHs-?}XZ|_32F2HQsXkur?_KSkG7#2>&oMHUR9gycZfcc3E64@HXxK`0e}kwb+xc zm&3l;;Beqjq|BJbPH;6ceaVqShekxpKv{sY;G_?hViaWF`C(wo$(=gF(@?qXv$ z0<*;5N<%i5|6p6eu3xaPm>+I1tim!`%iMJd8;F6Fat^*I#VOu^F4g8Kv2pCXyxq2k zYOK=-rEv&Dk_^en4@~m+1f!T5F2($b{M_cSrGY#qkZtF`GFekt8UL)CjKW*J62!V| z8H5gbj*cSiOOn!87ARKvhlxQR6UZjbv_3!6I@z54VgqeYPeIrk*i8>~#|aAwHcm+5 z&zcqWCB1ge62MLP!1RUx@MLW&*e1UOJMt0wFT3!5z3H_Bwv;G`!FT^iF66m5U${Ee zUk9^ziC*D@p_R**AA5Lk$#GPKV%R?J5|G%|{DL(1C46vqy~Jf?^z)BGYQqd{mit^o z%V_u0fXjW)Gl&4s034yXY?(8mn|532a{J2te#}v4%I@#D^ff3nl-vKtji;f8>WqOa zZ}Ku-s4Gk~f`sXj3^uS@4tU<=Ktm}YMW@ksTV}pgx|bjVi2@j<(wpm~+3*w7>WoAuMSsfcQ?9o$eJ=t#nQF~^zOj1Nd z6|aE&Sux`Avu`z`+pg)6{{M(a`@#L~`;b(xITx3!&w8$`Bl-7GHt{Bs^%tc0wa zY$pF`O+=x|l3nsywbZldIM?beX6xECQ^r2?W!g~v?C^%$+*`}(_dkr9A`B@ZOzOh`)07|bqIj1c-`lb zz$okRrk*NguCA^=_wiey$4dhP1B5kL6sI>n42-&ZFPN?&gD%4CY+tC0rcoNl>@VQt|@B*_`iXMJP!};7wQvxe>1Q9#Gf0p?X_HLxgdA1 zH|@4_A0Nl7i3=w7_XGCITfETyW$j`s-?yk>FR#rw{NaB=-U{vvJif3;X#KBNGVTA;L9SVz|ttaP5(+$X_lX)_QboY$n)ahSS(( zU?(%5VmT1K8jueHy&q|k=dQ!s0J&bX``jgC=N`dlnqlwX-QDu8y!`ZJ|CeBHna#12 zjrPZfxjwhdGqJJdcYY|?+S}|JBp{-wvNi5uHEx^TU`QckWTl>JJGHeam*y*_Tz5CR zNQxOVUTQ!-Tf1&%%<#h=S{3|0e-*;p)%7n|scUQ!XVOi=a0@tE^>gdi9o1f8VDLL- z7`uqBIR4J$_^}{gLz;a@wK>-K+{cajqNjh4Hsw(I@_jD~CoF!pYTm*{{aM{MCA z!Ms)hB17D>vmXcrUWB8wFV7cbZJL|HRyeB|-lDhhABhRR3GgQ={!SRrq1uKN{_*}* zceh|Dw-);y%S)(Fm8@v^MN79mqER85Ki1-ZuzO9jtF*q1z^~&lQUxCcJ0e*$-apqzRpey1%kd z4q&Y02;hHQni%VqP5TKoLc-!cFL&tYV6df_4%R>wcYv0SeXlOZcrVRbA!R3wfT0hD z!9~V6+33GwEeT*rS9JR}+={|H8!x)W0ApAZ3~3tDp^jl?rh+l%n{nHSj~I%JVSm4T zfqF|~xCAcF16H4H|D}e)l3P-aQj9$7UFEGeqg^h(4X-#U_K#?e*(F|WSu{tPkAP3i zvMPxn4nGcYUgY%OHimdgf#NG_D-Hzsrd=?tOC(H;!?^+QhaUiQ#dG)k#}q!0twoIV zb+nGwLOa<%KlcWR+^*)>ziqd@7#c9jd<2T0l-x3XA4GWA%r3f7ltEn`;U)YBuw{|k z9UTRe0|i|nA<5^oGM&KkM9>Yd$T^8jdsk76mes5+vdJu2WMb49QRua|r{)<{C4LZv ziJ`D8z1LvOH$9m)5Gr}Q8`phK!k{F|d~kM$ek3IyQ@0!n@7K;DlCsbS+Z{zjA=Axu zYcKvvNwVZ&0JU1T))&0FKHT{T?0DU}WE(T=Q~<^#_GT_4q!IQcvgTjPD7Y^Uf1id% z>LORDEIR__5`g1KD*}JyzEUYRfuXcVyRFHg<;?VOt8IUM zAW(>x$3Dp14Gu1)<8!t8atbipVFA`yTRF#J0%NrXe*CoAe(PrB=~#GA18GW%ib}ET(?uGFGWT1n)(TmbiD#Th9)i+r z0RAM-KkT3AL!y)lf4wWhBOCzi*u5mzj``gAc~<~%yo)1zOM!?j3tm{C<2vnq)X{9(e0fgm`Bc|GsN18&!m3<_i_P2#8}LUd zihK)Vk0BskEXr39_e`eQ(ff$v3{cfV+B3QB?WeC1!H}fcno;1Vz|3ikTSS0&9&(Dv40o6YNp!EQgprl&={i>h*MWIq(nPwDRi*4|fEcj4CabE%Z}P2vgWxl6X1b5;|+&uABCgioaKyi7@(xDr+m5)i`7Xvg?KLvW?i(tM;39q1dZDU97`&UBWC6oo6eoU2RZS)H({`jw3t2v*c^ zxF?yJ4??8PP!?5kn`c9xr7E#)A67lPxt<29XEl?HHA*z8W&lc{>MhvpGNeEOl@f9I z^ZbUflAiL`yD<3o_e6mNW&$O}W4pf3jO(^v)iZYT*I?!KAEwG6_p0J?Q%+qAw}% zXPNh80r&}e)&Ht*5<&M7Y-K}akBKnD!tr�> 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 diff --git a/tests/subtests/baseline/test_hmatch_imatch.png b/tests/subtests/baseline/test_hmatch_imatch.png index 338c53aeb637b48ba569bfaf3dc16881aeb2f04b..09856c9a707e34f8286a37888f47741b29129032 100644 GIT binary patch delta 12 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 A%K!iX literal 23505 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 diff --git a/tests/subtests/baseline/test_hmissing_idiffshape.png b/tests/subtests/baseline/test_hmissing_idiffshape.png index 0ca56a9199d1ca3941f3fd329e20b8ce3d77b1a4..f386979ffd685916f0c0b208b4239f3480e992b9 100644 GIT binary patch literal 16167 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 Date: Fri, 27 May 2022 18:47:04 +0100 Subject: [PATCH 3/8] Update mpl34 hashes --- tests/subtests/hashes/mpl34_ft261.json | 26 +++++++------- tests/subtests/result_hashes/mpl34_ft261.json | 34 +++++++++---------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/tests/subtests/hashes/mpl34_ft261.json b/tests/subtests/hashes/mpl34_ft261.json index c58c78d3..5bec9574 100644 --- a/tests/subtests/hashes/mpl34_ft261.json +++ b/tests/subtests/hashes/mpl34_ft261.json @@ -1,15 +1,15 @@ { - "subtests.subtest.test_hmatch_imatch": "573f4c1482192b7b15bbe4f2bd370ae3b5ab40c9afa441543b87e15a71e9f672", - "subtests.subtest.test_hmatch_idiff": "8b5c00365e6f784d5c8947091f09a92fd7d222e790431f297b4848f173e64857", - "subtests.subtest.test_hmatch_idiffshape": "2ee75301c4de2dcb9f839b278c6371be2e751de40b131213e375d4dcc5542382", - "subtests.subtest.test_hmatch_imissing": "fd069e642e3b154c24077a4996b545e1c4dbffdbed34ea5ad34c7b36873af68f", - "subtests.subtest.test_hdiff_imatch": "d1ffdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1", - "subtests.subtest.test_hdiff_idiff": "d1ff61bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43", - "subtests.subtest.test_hdiff_idiffshape": "d1ffae8ab2b65de3fa297be17ce973ff871e703c9550679e9566179dd785f6eb", - "subtests.subtest.test_hdiff_imissing": "d1ff63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e", - "subtests.subtest.test_hdiff_imatch_tolerance": "d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96", - "subtests.subtest.test_hdiff_idiff_tolerance": "d1ffe85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96", - "subtests.subtest.test_hdiff_imatch_savefig": "d1ffc2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568", - "subtests.subtest.test_hdiff_imatch_style": "d1ffd1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7", - "subtests.subtest.test_hdiff_imatch_removetext": "d1fff83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e" + "subtests.subtest.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", + "subtests.subtest.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", + "subtests.subtest.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", + "subtests.subtest.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", + "subtests.subtest.test_hdiff_imatch": "d1ff5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", + "subtests.subtest.test_hdiff_idiff": "d1ff014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", + "subtests.subtest.test_hdiff_idiffshape": "d1ff3bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", + "subtests.subtest.test_hdiff_imissing": "d1ffd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", + "subtests.subtest.test_hdiff_imatch_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", + "subtests.subtest.test_hdiff_idiff_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", + "subtests.subtest.test_hdiff_imatch_savefig": "d1ff14c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", + "subtests.subtest.test_hdiff_imatch_style": "d1ffd00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", + "subtests.subtest.test_hdiff_imatch_removetext": "d1ffd7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a" } diff --git a/tests/subtests/result_hashes/mpl34_ft261.json b/tests/subtests/result_hashes/mpl34_ft261.json index 3511556b..6079e0fe 100644 --- a/tests/subtests/result_hashes/mpl34_ft261.json +++ b/tests/subtests/result_hashes/mpl34_ft261.json @@ -1,19 +1,19 @@ { - "subtests.subtest.test_hmatch_imatch": "573f4c1482192b7b15bbe4f2bd370ae3b5ab40c9afa441543b87e15a71e9f672", - "subtests.subtest.test_hmatch_idiff": "8b5c00365e6f784d5c8947091f09a92fd7d222e790431f297b4848f173e64857", - "subtests.subtest.test_hmatch_idiffshape": "2ee75301c4de2dcb9f839b278c6371be2e751de40b131213e375d4dcc5542382", - "subtests.subtest.test_hmatch_imissing": "fd069e642e3b154c24077a4996b545e1c4dbffdbed34ea5ad34c7b36873af68f", - "subtests.subtest.test_hdiff_imatch": "6e2fdde5a6682dc6abba7121f5df702c3664b1ce09593534fc0d7c3514eb07e1", - "subtests.subtest.test_hdiff_idiff": "443361bdd0efd1cdd343eabf73af6f20439d4834ab5503a574ac7ec28e0c2b43", - "subtests.subtest.test_hdiff_idiffshape": "3379ae8ab2b65de3fa297be17ce973ff871e703c9550679e9566179dd785f6eb", - "subtests.subtest.test_hdiff_imissing": "301e63d656d7a586cc4e498bc32b970f8cb7c7c47bbd2fec33b931219fc0690e", - "subtests.subtest.test_hmissing_imatch": "eabd8a2e22afd88682990bfb8e4a0700a942fe68e5114e8da4ab6bd93c47b824", - "subtests.subtest.test_hmissing_idiff": "e69570c4a70b2cc88ddee0f0a82312cae4f394b7f62e5760245feda1364c03ab", - "subtests.subtest.test_hmissing_idiffshape": "fa566a1620537f5c10aa8bcbebed55065f13fa9f8e8e82d7f7c67f7b39edd552", - "subtests.subtest.test_hmissing_imissing": "5c8a9c7412e4e098f6f2683ee247c08bd50805a93df4d4b6d8fccf3579b4c56b", - "subtests.subtest.test_hdiff_imatch_tolerance": "aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96", - "subtests.subtest.test_hdiff_idiff_tolerance": "aaf4e85fda98298347c274adae98ca7728f9bb2444ca8a49295145b0727b8c96", - "subtests.subtest.test_hdiff_imatch_savefig": "5dc1c2c68c2d34c03a89ab394e3c11349b76594d0c8837374daef299ac227568", - "subtests.subtest.test_hdiff_imatch_style": "185ed1b702c7bbd810370b12e46ecea4b9c9eb87b743397f1d4a50177e7ba7f7", - "subtests.subtest.test_hdiff_imatch_removetext": "be5af83a43cb89f5e13923f532fe5c9bedbf7d13585533efef2f4051c4968b5e" + "subtests.subtest.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", + "subtests.subtest.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", + "subtests.subtest.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", + "subtests.subtest.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", + "subtests.subtest.test_hdiff_imatch": "b92c5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", + "subtests.subtest.test_hdiff_idiff": "567f014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", + "subtests.subtest.test_hdiff_idiffshape": "b6673bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", + "subtests.subtest.test_hdiff_imissing": "e37bd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", + "subtests.subtest.test_hmissing_imatch": "592d12cc2d5749a6607bbf98d715b95c06a2af6572a7e298bcae349648b9997e", + "subtests.subtest.test_hmissing_idiff": "9e98dbd2027525c776212daa061180b4fc40ad12dfc2cdfe4b86694ede14e0c3", + "subtests.subtest.test_hmissing_idiffshape": "5534324f9da5c1c104c3ef3435dc6fa9792c0d0d8b762fad5d7f81abd91fbb89", + "subtests.subtest.test_hmissing_imissing": "2d15274f0e9b44f1c16e6b237710cd36a3de5c5b7596ef0e65e7a33ce4624cf4", + "subtests.subtest.test_hdiff_imatch_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", + "subtests.subtest.test_hdiff_idiff_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", + "subtests.subtest.test_hdiff_imatch_savefig": "0a0514c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", + "subtests.subtest.test_hdiff_imatch_style": "588ad00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", + "subtests.subtest.test_hdiff_imatch_removetext": "a78ad7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a" } From 740055472e4dbd48fc80b3f479caabf3f00dfcba Mon Sep 17 00:00:00 2001 From: Conor MacBride Date: Fri, 27 May 2022 18:55:07 +0100 Subject: [PATCH 4/8] Update mpl33 hashes --- tests/subtests/hashes/mpl33_ft261.json | 26 +++++++------- tests/subtests/result_hashes/mpl33_ft261.json | 34 +++++++++---------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/tests/subtests/hashes/mpl33_ft261.json b/tests/subtests/hashes/mpl33_ft261.json index 630e40b6..5bec9574 100644 --- a/tests/subtests/hashes/mpl33_ft261.json +++ b/tests/subtests/hashes/mpl33_ft261.json @@ -1,15 +1,15 @@ { - "subtests.subtest.test_hmatch_imatch": "42c391b37022e2c4edb53f5fd988e94f421905b40cea1544e62ffb3c049292a8", - "subtests.subtest.test_hmatch_idiff": "c14ba098dbda0988e35be5724ffb15b8e666253a4b37dec6a21203607c17473d", - "subtests.subtest.test_hmatch_idiffshape": "d23fa57068c6888307575623e5bdbe5e577d935910fee8d41deab426677acecb", - "subtests.subtest.test_hmatch_imissing": "6c07931bac1a926c88bea5d07c40c8c1ce30648712e3fc963028193863e3ae65", - "subtests.subtest.test_hdiff_imatch": "d1ff383721a0c395c856302be7de8a8138a2693651425dc181ede262860aef7b", - "subtests.subtest.test_hdiff_idiff": "d1fff55ace5ef7e45dcd9913b54e0d9970028cae59666e937ccb3586d0f76e9a", - "subtests.subtest.test_hdiff_idiffshape": "d1ff76e20951e78fd3dedfff6a6f8f2eab4c569860d1a0da7867114cdcdf7c2c", - "subtests.subtest.test_hdiff_imissing": "d1ff35845c5887c034230e02aa4b60e053c779c693867e4803e1d72dde9240f7", - "subtests.subtest.test_hdiff_imatch_tolerance": "d1ff6912989a4b47ea910b04edfa58cf5d756d60825ea52ad59dcde8e03d4d8b", - "subtests.subtest.test_hdiff_idiff_tolerance": "d1ff6912989a4b47ea910b04edfa58cf5d756d60825ea52ad59dcde8e03d4d8b", - "subtests.subtest.test_hdiff_imatch_savefig": "d1ff5dc3f9e8acda06b0097ee893819be62ca9adbbcca7d2300602f079a93b92", - "subtests.subtest.test_hdiff_imatch_style": "d1ff7692747ec72d3c8669cdb3d66468426b83ecf49a214cd918b8f5a0752a1f", - "subtests.subtest.test_hdiff_imatch_removetext": "d1ff0d60d794a7cdfec884463c4fe14612ab1fe7fda4bc7fa702c8f1615e1539" + "subtests.subtest.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", + "subtests.subtest.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", + "subtests.subtest.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", + "subtests.subtest.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", + "subtests.subtest.test_hdiff_imatch": "d1ff5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", + "subtests.subtest.test_hdiff_idiff": "d1ff014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", + "subtests.subtest.test_hdiff_idiffshape": "d1ff3bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", + "subtests.subtest.test_hdiff_imissing": "d1ffd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", + "subtests.subtest.test_hdiff_imatch_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", + "subtests.subtest.test_hdiff_idiff_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", + "subtests.subtest.test_hdiff_imatch_savefig": "d1ff14c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", + "subtests.subtest.test_hdiff_imatch_style": "d1ffd00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", + "subtests.subtest.test_hdiff_imatch_removetext": "d1ffd7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a" } diff --git a/tests/subtests/result_hashes/mpl33_ft261.json b/tests/subtests/result_hashes/mpl33_ft261.json index 1d32aed3..6079e0fe 100644 --- a/tests/subtests/result_hashes/mpl33_ft261.json +++ b/tests/subtests/result_hashes/mpl33_ft261.json @@ -1,19 +1,19 @@ { - "subtests.subtest.test_hmatch_imatch": "42c391b37022e2c4edb53f5fd988e94f421905b40cea1544e62ffb3c049292a8", - "subtests.subtest.test_hmatch_idiff": "c14ba098dbda0988e35be5724ffb15b8e666253a4b37dec6a21203607c17473d", - "subtests.subtest.test_hmatch_idiffshape": "d23fa57068c6888307575623e5bdbe5e577d935910fee8d41deab426677acecb", - "subtests.subtest.test_hmatch_imissing": "6c07931bac1a926c88bea5d07c40c8c1ce30648712e3fc963028193863e3ae65", - "subtests.subtest.test_hdiff_imatch": "b48a383721a0c395c856302be7de8a8138a2693651425dc181ede262860aef7b", - "subtests.subtest.test_hdiff_idiff": "44edf55ace5ef7e45dcd9913b54e0d9970028cae59666e937ccb3586d0f76e9a", - "subtests.subtest.test_hdiff_idiffshape": "1c6176e20951e78fd3dedfff6a6f8f2eab4c569860d1a0da7867114cdcdf7c2c", - "subtests.subtest.test_hdiff_imissing": "042235845c5887c034230e02aa4b60e053c779c693867e4803e1d72dde9240f7", - "subtests.subtest.test_hmissing_imatch": "d87e9aa72d2cd0ccd9959ec7af2dc00ab86e2fe8f06a6c54a017cde62f7e5c1f", - "subtests.subtest.test_hmissing_idiff": "00b074ef61b5061b8ec50dbe32b3214ffd21c9489ae212671558f338ad792e5f", - "subtests.subtest.test_hmissing_idiffshape": "3abf54dbc88ce374b40d677597685fc83b4dc05c9d9a50fa1580f348d71fb99d", - "subtests.subtest.test_hmissing_imissing": "3e5c4a4386e32133083c36ca0c95f5e38be904ed238e49ab1e06edd35603abfc", - "subtests.subtest.test_hdiff_imatch_tolerance": "04eb6912989a4b47ea910b04edfa58cf5d756d60825ea52ad59dcde8e03d4d8b", - "subtests.subtest.test_hdiff_idiff_tolerance": "04eb6912989a4b47ea910b04edfa58cf5d756d60825ea52ad59dcde8e03d4d8b", - "subtests.subtest.test_hdiff_imatch_savefig": "c47d5dc3f9e8acda06b0097ee893819be62ca9adbbcca7d2300602f079a93b92", - "subtests.subtest.test_hdiff_imatch_style": "8fa57692747ec72d3c8669cdb3d66468426b83ecf49a214cd918b8f5a0752a1f", - "subtests.subtest.test_hdiff_imatch_removetext": "f9fc0d60d794a7cdfec884463c4fe14612ab1fe7fda4bc7fa702c8f1615e1539" + "subtests.subtest.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", + "subtests.subtest.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", + "subtests.subtest.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", + "subtests.subtest.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", + "subtests.subtest.test_hdiff_imatch": "b92c5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", + "subtests.subtest.test_hdiff_idiff": "567f014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", + "subtests.subtest.test_hdiff_idiffshape": "b6673bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", + "subtests.subtest.test_hdiff_imissing": "e37bd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", + "subtests.subtest.test_hmissing_imatch": "592d12cc2d5749a6607bbf98d715b95c06a2af6572a7e298bcae349648b9997e", + "subtests.subtest.test_hmissing_idiff": "9e98dbd2027525c776212daa061180b4fc40ad12dfc2cdfe4b86694ede14e0c3", + "subtests.subtest.test_hmissing_idiffshape": "5534324f9da5c1c104c3ef3435dc6fa9792c0d0d8b762fad5d7f81abd91fbb89", + "subtests.subtest.test_hmissing_imissing": "2d15274f0e9b44f1c16e6b237710cd36a3de5c5b7596ef0e65e7a33ce4624cf4", + "subtests.subtest.test_hdiff_imatch_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", + "subtests.subtest.test_hdiff_idiff_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", + "subtests.subtest.test_hdiff_imatch_savefig": "0a0514c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", + "subtests.subtest.test_hdiff_imatch_style": "588ad00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", + "subtests.subtest.test_hdiff_imatch_removetext": "a78ad7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a" } From 934849de6779611d0ef6ef07a7d2ea5092ecad9b Mon Sep 17 00:00:00 2001 From: Conor MacBride Date: Fri, 27 May 2022 22:07:55 +0100 Subject: [PATCH 5/8] Use `tempfile.gettempdir()` --- tests/subtests/test_subtest.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/subtests/test_subtest.py b/tests/subtests/test_subtest.py index f8660c33..4993fa9f 100644 --- a/tests/subtests/test_subtest.py +++ b/tests/subtests/test_subtest.py @@ -2,6 +2,7 @@ import sys import json import shutil +import tempfile import subprocess from pathlib import Path @@ -42,7 +43,7 @@ # See helpers.apply_regex for more information. REGEX_PATHS = [ str(Path(__file__).parent), # replace all references to baseline files - str(os.path.realpath(os.getenv("TMPDIR"))), # replace all references to output files + os.path.realpath(tempfile.gettempdir()), # replace all references to output files ] REGEX_STRS = [ r'RMS Value: ', From 6502f21192ff6a9faec8c6c91f4c7d699046427f Mon Sep 17 00:00:00 2001 From: Conor MacBride Date: Sat, 28 May 2022 17:43:47 +0100 Subject: [PATCH 6/8] Add `tests/subtests` documentation --- tests/subtests/README.rst | 78 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 tests/subtests/README.rst diff --git a/tests/subtests/README.rst b/tests/subtests/README.rst new file mode 100644 index 00000000..e0e591f8 --- /dev/null +++ b/tests/subtests/README.rst @@ -0,0 +1,78 @@ +Testing ``pytest-mpl`` using the ``tests/subtests`` +************************************************** + +``pytest-mpl`` can output JSON summaries (``--mpl-generate-summary=json``) which contain lots of machine readable information relating to the internal state of the plugin while it was run. +This test module (``test_subtest.py``) runs the test file ``subtest.py`` multiple times with different combinations of z +``pytest-mpl`` arguments. +After each test, it compares the outputted JSON summary to a "baseline" JSON summary for that specific combination of arguments (``summaries/*.json``). + +These tests are very sensitive to deviations in the documented behaviour of the ``pytest-mpl`` configuration arguments. +And the exact behaviour of each comparison mode (such as images, hashes or both) can be asserted. +If the format of the hash libraries or the baseline summaries are changed, ``test_subtest.py`` and ``helpers.py`` may require modifications. + +By using various helper functions defined in ``helpers.py``, the baseline summaries are not specific to the MPL/FreeType versions. +This is implemented through regex in the log output, and by replacing baseline hashes with hashes in a version specific baseline hash library ``hashes/*.json`` and replacing result hashes with hashes in a version specific "baseline" result hash library ``result_hashes/*.json``. +The baseline images used for the image comparison tests are included in ``baseline/*.png``. + +Generating baseline data +======================== + +The baseline image, hashes and summaries are generated automatically without the need to manually set the data which should fail the tests which are expected to fail. +All of the test names should follow the existing convention (e.g., ``test_hdiff_imatch``), including one flag from both of the categories below. +This ensures the script generates the correct baseline data which should achieve the expected test result. +Full details on how the baselines are modified for each case are given below: + +**Hash comparison status flags:** + +:``hmatch``: Hash comparison must pass, so same hash in baseline and result hash libraries. + +:``hdiff``: Hash comparison must fail, so baseline hash is set to the same as the result hash except the first four characters are changed to ``d1ff``. + +:``hmissing``: Baseline hash must be missing, so baseline hash is deleted from the baseline hash library but not the result hash library. + +**Image comparison status flags:** + +:``imatch``: Image comparison must pass, so correct image in included in the baseline directory. + +:``idiff``: Image comparison must fail, so baseline image is edited to include a red cross such that the RMS is greater than the tolerance. + +:``idiffshape``: Image comparison must fail due to a different shape, so baseline image is resized to be half the generated width and height before saving. + +:``imissing``: Baseline image must be missing, so baseline image is deleted from the baseline directory. + +Generating for each version of matplotlib +----------------------------------------- + +Baseline data should be generated for each version of matplotlib separately. +For each version of matplotlib (defined within the tox environments in ``tox.ini``), follow the three steps in this section. (Only update one version at a time.) + +So the baseline data can be recreated easily, do not make any manual adjustments to the generated files. +Instead, updates the functions which generate the baseline data. + +To generate the baseline hashes, result hashes and baseline images run the following command. +If you are generating for a new version of matplotlib, create empty files such as ``hashes/mpl39_ft261.json`` and ``result_hashes/mpl39_ft261.json`` so it knows you require hashes for this version. + +:: + + MPL_UPDATE_BASELINE=1 tox -e + +Make sure this command runs without any failures or errors. +Inspect the generated data to ensure it looks correct, and ``git add``. +Then generate baseline summaries for the baseline hashes and images by running: + +:: + + MPL_UPDATE_SUMMARY=1 tox -e + +This will update/create baseline summaries in the ``summaries`` directory. +Make sure this command runs without any failures or errors. +It is very important that you check every change made to the baseline summaries as these summaries define how the plugin should be running internally for each test, for each plugin configuration. +If the summaries are correct, ``git add``. + +Now run tox normally to ensure the tests pass: + +:: + + tox -e + +If the tests pass, ``git commit`` the updated baselines. From ada86716edc3924ff6252100fb072198d879ed47 Mon Sep 17 00:00:00 2001 From: Conor MacBride Date: Sat, 28 May 2022 22:38:29 +0100 Subject: [PATCH 7/8] Apply suggestions from code review Co-authored-by: Bill Little --- tests/subtests/README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/subtests/README.rst b/tests/subtests/README.rst index e0e591f8..aad808e2 100644 --- a/tests/subtests/README.rst +++ b/tests/subtests/README.rst @@ -2,7 +2,7 @@ Testing ``pytest-mpl`` using the ``tests/subtests`` ************************************************** ``pytest-mpl`` can output JSON summaries (``--mpl-generate-summary=json``) which contain lots of machine readable information relating to the internal state of the plugin while it was run. -This test module (``test_subtest.py``) runs the test file ``subtest.py`` multiple times with different combinations of z +This test module (``test_subtest.py``) runs the test file ``subtest.py`` multiple times with different combinations of ``pytest-mpl`` arguments. After each test, it compares the outputted JSON summary to a "baseline" JSON summary for that specific combination of arguments (``summaries/*.json``). @@ -32,7 +32,7 @@ Full details on how the baselines are modified for each case are given below: **Image comparison status flags:** -:``imatch``: Image comparison must pass, so correct image in included in the baseline directory. +:``imatch``: Image comparison must pass, so correct image is included in the baseline directory. :``idiff``: Image comparison must fail, so baseline image is edited to include a red cross such that the RMS is greater than the tolerance. From 34fa1bbc6a4d651c1950e0b83f2f388eaf6fa264 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 28 May 2022 21:40:31 +0000 Subject: [PATCH 8/8] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tests/subtests/README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/subtests/README.rst b/tests/subtests/README.rst index aad808e2..79b0b534 100644 --- a/tests/subtests/README.rst +++ b/tests/subtests/README.rst @@ -2,7 +2,7 @@ Testing ``pytest-mpl`` using the ``tests/subtests`` ************************************************** ``pytest-mpl`` can output JSON summaries (``--mpl-generate-summary=json``) which contain lots of machine readable information relating to the internal state of the plugin while it was run. -This test module (``test_subtest.py``) runs the test file ``subtest.py`` multiple times with different combinations of +This test module (``test_subtest.py``) runs the test file ``subtest.py`` multiple times with different combinations of ``pytest-mpl`` arguments. After each test, it compares the outputted JSON summary to a "baseline" JSON summary for that specific combination of arguments (``summaries/*.json``).