Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 23 additions & 8 deletions lib/iris/tests/graphics/recreate_imagerepo.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,44 @@
import argparse
from pathlib import Path

from imagehash import hex_to_hash

import iris.tests
import iris.tests.graphics as graphics


def update_json(baseline_image_dir: Path, dry_run: bool = False):
old_repo = graphics.read_repo_json()
new_repo = graphics.generate_repo_from_baselines(baseline_image_dir)
repo = graphics.read_repo_json()
suggested_repo = graphics.generate_repo_from_baselines(baseline_image_dir)

if graphics.repos_equal(old_repo, new_repo):
if graphics.repos_equal(repo, suggested_repo):
msg = (
f"No change in contents of {graphics.IMAGE_REPO_PATH} based on "
f"{baseline_image_dir}"
)
print(msg)
else:
for key in set(old_repo.keys()) | set(new_repo.keys()):
old_val = old_repo.get(key, None)
new_val = new_repo.get(key, None)
if str(old_val) != str(new_val):
for key in set(repo.keys()) | set(suggested_repo.keys()):
old_val = repo.get(key, None)
new_val = suggested_repo.get(key, None)
if old_val is None:
repo[key] = suggested_repo[key]
print(key)
print(f"\t{old_val} -> {new_val}")
elif new_val is None:
del repo[key]
print(key)
print(f"\t{old_val} -> {new_val}")
else:
difference = hex_to_hash(str(old_val)) - hex_to_hash(
str(new_val)
)
if difference > graphics._HAMMING_DISTANCE:
print(key)
print(f"\t{old_val} -> {new_val} ({difference})")
repo[key] = suggested_repo[key]
if not dry_run:
graphics.write_repo_json(new_repo)
graphics.write_repo_json(repo)


if __name__ == "__main__":
Expand Down
36 changes: 18 additions & 18 deletions lib/iris/tests/results/imagerepo.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
"gallery_tests.test_plot_wind_barbs.TestWindBarbs.test_wind_barbs.0": "e9e161e996169316c1fe9e96c29e36739e13c07c3d61c07f39813929c07f3f01",
"gallery_tests.test_plot_wind_speed.TestWindSpeed.test_plot_wind_speed.0": "e9e960e996169306c1fe9e96c29e36739e13c06c3d61c07f39a139e1c07f3f01",
"gallery_tests.test_plot_wind_speed.TestWindSpeed.test_plot_wind_speed.1": "e9e960e996169306c1ee9e96c29e36739653c06c3d61c07f3da139e1c07f3f01",
"iris.tests.experimental.test_animate.IntegrationTest.test_cube_animation.0": "fe81c17e817e3e81817e7e81857e7e817e81c07e7e81c17e7a81817e817e8c2a",
"iris.tests.experimental.test_animate.IntegrationTest.test_cube_animation.0": "fe81c17e817e3e81817e3e81857e7a817e81c17e7e81c17e7a81817e817e8c2e",
"iris.tests.experimental.test_animate.IntegrationTest.test_cube_animation.1": "fe81857e817e6a85817e7a81857e7e817e81957a7e81817e7a81817e817e843e",
"iris.tests.experimental.test_animate.IntegrationTest.test_cube_animation.2": "be81857ec17e7a81c17e7e81857e3e803e81817a3e81c17e7a81c17ec97e2c2b",
"iris.tests.integration.plot.test_plot_2d_coords.Test.test_2d_coord_bounds_northpolarstereo.0": "e59661969e699659c0f719a6c967339a1992c07f3649c09c3f612669c07b3f66",
Expand All @@ -55,16 +55,16 @@
"iris.tests.test_mapping.TestBasic.test_pcolor.0": "e97a347c96858b8d9685c9c39696c393966c634969ce3c64697a3864697b3c9c",
"iris.tests.test_mapping.TestBasic.test_unmappable.0": "ea853e48957ac1df957ac8be852bc1b1944e7a9878e03f4c6a253e6c7a912dc2",
"iris.tests.test_mapping.TestBoundedCube.test_grid.0": "fa81857e857e7a81857e7a817a81817e7a81857e857e7a81857e7a817a81857e",
"iris.tests.test_mapping.TestBoundedCube.test_pcolormesh.0": "fa81c17a857e1ea5857e734a7a81cd257e8484da857e3b29817a68f47a81c799",
"iris.tests.test_mapping.TestBoundedCube.test_pcolormesh.0": "fa81c17e857e1ea1857e634a7a81cd257e8484da857e3b29817e68f47a81c799",
"iris.tests.test_mapping.TestLimitedAreaCube.test_grid.0": "fa81857e857e7a81857e7a817a817a817a81817e7a81857e857e857e857e7a81",
"iris.tests.test_mapping.TestLimitedAreaCube.test_outline.0": "fa81857e857e3e81857e7a857a817e817a81857a7a81817e857e857a857e7a81",
"iris.tests.test_mapping.TestLimitedAreaCube.test_pcolormesh.0": "ea813b49957ec4b7917e3f60266978d97a9562366e81954a914ec6cc957a0f98",
"iris.tests.test_mapping.TestLimitedAreaCube.test_scatter.0": "ea05bd3a91eac2d984983d346b2473477acf69ad1d3296d8c696e126c1ab1e71",
"iris.tests.test_mapping.TestLowLevel.test_keywords.0": "be21a71bc1de58e43a63a71b3e016061c1fe9b8c3e01a473847e5b94d1fb9ac3",
"iris.tests.test_mapping.TestLowLevel.test_keywords.1": "fa819097857e6560957e7bcc7a819c316e81951e857e62c281fe79a17aa19637",
"iris.tests.test_mapping.TestLowLevel.test_keywords.1": "fa819897857e6530957e7bcc7a819c316ea1951e857e62c2857e79a17a819633",
"iris.tests.test_mapping.TestLowLevel.test_params.0": "fa8190be857e6739917a7bc47a8594337bb1911c857e6ec3913279007e819637",
"iris.tests.test_mapping.TestLowLevel.test_params.1": "be21a71bc1de58e43a63a71b3e016061c1fe9b8c3e01a473847e5b94d1fb9ac3",
"iris.tests.test_mapping.TestLowLevel.test_params.2": "fa81909f857e6520957e5bcc7a8194716e31851e857e6ac281fe3f817a81963f",
"iris.tests.test_mapping.TestLowLevel.test_params.2": "fa81909f857e6520957e7acc7a8194716e31851e857e6ac281fe3ba17a81963f",
"iris.tests.test_mapping.TestLowLevel.test_simple.0": "faa0e558855fd9e7857a1ab16a85a51d36a1e55a854e58a5c13837096e8fe17a",
"iris.tests.test_mapping.TestMappingSubRegion.test_simple.0": "b9913d90c66eca6ec66ec2f3689195aecf5b2f00392cb3496495e21da4db6c92",
"iris.tests.test_mapping.TestUnmappable.test_simple.0": "fa81b54a817eca35817ec701857e3e64943e7bb41b846f996e817e006ee1b19b",
Expand Down Expand Up @@ -103,10 +103,10 @@
"iris.tests.test_plot.TestContour.test_yx.0": "e85e36cb95b199999e654d3694b26c78c7396329958434c2cacb6c6d69ce9392",
"iris.tests.test_plot.TestContour.test_zx.0": "affe8057fc00855cf8007e01d0027e808557d5ea815f7ea0817f2fea815f2bff",
"iris.tests.test_plot.TestContour.test_zy.0": "abff817ff801857afc017a80d4027e00855ec42a81fe7a8185fe6a8f05fe2abf",
"iris.tests.test_plot.TestContourf.test_tx.0": "ea857a81957ac57e957a857a957a958ac5723b0d6ac56b833e856e606a923e90",
"iris.tests.test_plot.TestContourf.test_ty.0": "ea851f00957ac0f7957ac07f957a628d815e7b126ab13e816a953ae46a859ed3",
"iris.tests.test_plot.TestContourf.test_tx.0": "ea857a81957a857e957a857a857a958ac5723b0d7ac56b833e856e606a933e90",
"iris.tests.test_plot.TestContourf.test_ty.0": "ea851f00957ac0f3957ac07f957a628d815e7b926ab13e816a953aac6a859ed3",
"iris.tests.test_plot.TestContourf.test_tz.0": "fa81857e857e7a81857e7a81857e7a81857e7a806a85857a7a85857e7a85817e",
"iris.tests.test_plot.TestContourf.test_yx.0": "e97a3c7e968597b19685c9c696a7c79491c16e59691a387f6978396e68683184",
"iris.tests.test_plot.TestContourf.test_yx.0": "e97a386e968597b19685c9c296a7c79493c16e59691a387f6978396e6c6a3184",
"iris.tests.test_plot.TestContourf.test_zx.0": "fa81817e857e7a81857a7a81957a6e81917a6caa3a85c57a3a8585fa6a8591fe",
"iris.tests.test_plot.TestContourf.test_zy.0": "fa81817e857e7a81857e7a81817a7e81817a668f7a91857e7a81857e7a85817e",
"iris.tests.test_plot.TestHybridHeight.test_bounds.0": "ee856aa5957a955ac0bf954bc17e3b819548c07f3e81c07e2ec46ea4c07f3e84",
Expand All @@ -124,13 +124,13 @@
"iris.tests.test_plot.TestMissingCoord.test_no_u.1": "ea956ab5954a954ac17e954a817f2f60950ac07f3e80c07f7a856aa5c2ff3f80",
"iris.tests.test_plot.TestMissingCoord.test_no_v.0": "fa816a85957a857ac17e954ac17e1fa2950bc07e3e81c07f3e807a85c17f3f81",
"iris.tests.test_plot.TestMissingCoord.test_no_v.1": "fa856a85957a857ac17e954ac17e9d02954ac07e3e81c07f3e857a85c2fd3f80",
"iris.tests.test_plot.TestMissingCoord.test_none.0": "fa816a85957a857ac17e954ac17e3fa29506c07e3e81c07f3e807a84c1ff3f81",
"iris.tests.test_plot.TestMissingCoord.test_none.0": "fa816a85957a857ac17e954ac17e3fa2950ac07e3e80c07f3e807a85c1ff3f81",
"iris.tests.test_plot.TestMissingCoord.test_none.1": "fa856a85957a957ac17e954ac17a1f06954ac07e3e81c07f3e817a85c0ff3f80",
"iris.tests.test_plot.TestPcolor.test_tx.0": "ea817a81957e857e957e953e957e857e857e6aa06a816ac16a017a816a9585fa",
"iris.tests.test_plot.TestPcolor.test_ty.0": "ea953f83954ac2bc956ac07e956a3509c0de61796ab57a816a856ad16ab590fb",
"iris.tests.test_plot.TestPcolor.test_ty.0": "ea953f83954ac2fc956ac07e956a3509c0de61796ab57a916a854a916ab590fb",
"iris.tests.test_plot.TestPcolor.test_tz.0": "fa81857e857a7a84857a7a85857e7a813a2f7a817a85857a7a85857a7a85857a",
"iris.tests.test_plot.TestPcolor.test_yx.0": "e97a387e968596319697c3c19284a62c93a560c36933393a6c7e793b6c6b31cd",
"iris.tests.test_plot.TestPcolor.test_zx.0": "fa81857e857a7e01857e7a81857e7a81e8177a816a8585fa7a85857e7a81857e",
"iris.tests.test_plot.TestPcolor.test_zx.0": "fa81857e857a6e05857e7a81857e7a81e0577a816a8585fa7a85857e7a81857e",
"iris.tests.test_plot.TestPcolor.test_zy.0": "fa81857e857e7e80857e7a81857e7a812d557a817a85857e7a81857e7a80857e",
"iris.tests.test_plot.TestPcolorNoBounds.test_tx.0": "ea858782957a703f957a3878957a7a65957a6bc06ae76f806ad50fd06a859c50",
"iris.tests.test_plot.TestPcolorNoBounds.test_ty.0": "ea85857a857e7e81957a7a81957a6a85857acac6c1fb6aa67a81956e6a81b506",
Expand All @@ -139,17 +139,17 @@
"iris.tests.test_plot.TestPcolorNoBounds.test_zx.0": "fa817a81857e857e857e7a81857e6a81c17f95786aa77a807e81c17c7e819558",
"iris.tests.test_plot.TestPcolorNoBounds.test_zy.0": "fa817a80857e857e857e7a81817e3e81817e857f6aa07a857e80c17f7e80c15f",
"iris.tests.test_plot.TestPcolormesh.test_tx.0": "ea817a81957e857e957e953e957e857e857e6aa06a816ac16a017a816a9585fa",
"iris.tests.test_plot.TestPcolormesh.test_ty.0": "ea953f83954ac2bc956ac07e956a3509c0de61796ab57a916a856a916ab590fb",
"iris.tests.test_plot.TestPcolormesh.test_ty.0": "ea953f83954ac2fc956ac07e956a3509c0de71796ab57a816a854a916ab590fb",
"iris.tests.test_plot.TestPcolormesh.test_tz.0": "fa81857e857a7a84857a7a85857e7a813a2f7a817a85857a7a85857a7a85857a",
"iris.tests.test_plot.TestPcolormesh.test_yx.0": "e97a387e968596319697c3c19284a62c93ad60c36933393a6c7e793a6c6b31cd",
"iris.tests.test_plot.TestPcolormesh.test_zx.0": "fa81857e857a7e01857e7a81857e7a81a0577a816a8585fa7a85857e7a85857e",
"iris.tests.test_plot.TestPcolormesh.test_zy.0": "fa81857e857e7e80857e7a81857e7a8129577a817a85857e7a81857e7a80857e",
"iris.tests.test_plot.TestPcolormeshNoBounds.test_tx.0": "ea858782957a703f957a3878957a7a65957a6b806ae56f846ad50fd46a859c50",
"iris.tests.test_plot.TestPcolormeshNoBounds.test_tx.0": "ea858782957a603f957a387a957a7a6d957a6bc06ae56f806ad50fd06a859c50",
"iris.tests.test_plot.TestPcolormeshNoBounds.test_ty.0": "ea85857a857e7e81957a7a81957a6a85857acae6c1fb6aa47a81956e6a81b506",
"iris.tests.test_plot.TestPcolormeshNoBounds.test_tz.0": "fa813e81857e857a857e7a81857e6a85817b0aa63e993e857e81c17e7a81956e",
"iris.tests.test_plot.TestPcolormeshNoBounds.test_yx.0": "e96ac79796953c4c9685383996c538e69692637261696b49693ac796693ac71b",
"iris.tests.test_plot.TestPcolormeshNoBounds.test_zx.0": "fa817a85857a857e857e7a81857e7a81817f95506aaf7a807e81c17c7a81957a",
"iris.tests.test_plot.TestPcolormeshNoBounds.test_zy.0": "fa817a80857a857e857e7a81857e3e81817e2fc56aa07a857e80c17f7e80c17f",
"iris.tests.test_plot.TestPcolormeshNoBounds.test_zy.0": "fa816a80857a857e857e7a81817e3e81817e3f556aa47a857e80c17f7e80c17f",
"iris.tests.test_plot.TestPlot.test_t.0": "8ffe9c1a7e05e718f305d9d2e46312718138049e824e2fa783db2bed76b4fe00",
"iris.tests.test_plot.TestPlot.test_t_dates.0": "87fc9d8b7e044d81f5037bd4c14324749279a73e8d9d864f09e4a7b348dc2769",
"iris.tests.test_plot.TestPlot.test_x.0": "8bfe956b7c01c2f26300929dfc1e3c6690736f91817e3b0c84be6be5d1603ed1",
Expand All @@ -171,14 +171,14 @@
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_yx.1": "e97a346c9685cb899685c9c39695c79396ec634969ce2c74697a3864697b3c8c",
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_yx.2": "ebfeca44f102b3649c309c9b940d19add1bb63b3a7843e4acc5a6aa56acc6b64",
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_yx.3": "e85a6b6c86a595a791c9349b94b73b69c7926b5bccca66646b3869b031a52ca6",
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_yx.4": "ea153e0395aac1f895eac0f8940e69e56a743e5f7a432787691ef860c3c1938f",
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_yx.4": "ea153e0395aac0f895eac1f8941e69e56a743e5d7a432787691ef860c3c1938f",
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_yx.5": "e96930749696cb9d9697cdc39692671b696c306969eb3c76697319942a0d8699",
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_zx.0": "be813ea0c17ec55ac17ed23dc07e295ac57e3b653f803f813e816e853e81b542",
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_zx.1": "ea85856e857e4893957a7aa1956a7b81954b3b817a856fd46a85846e6e85857e",
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_zx.2": "cbedcd25bc02a4929c103a5bf03fdbbc81cb364d84e46da70f86899b3a0f6ec1",
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_zx.3": "aee1793a6b168569b852d697913c622cc5ca2e4b952d3bb4c2b66bd1426b3c71",
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_zx.4": "bec13a81c13ec56ac13e5afdd11e256a3e412afd3e4002ff2ee0fe0035fa817a",
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_zx.5": "ea1595ec95ea681d95ea7b0595ab3b13950d7a536a1cc6f26a0cc4f26e0c85f2",
"iris.tests.test_plot.TestPlotCoordinatesGiven.test_zx.5": "ea1594ec95ea6c1d95ea7b0595ab3b13950f6a536a1cc6f26a0cc4f26e0c85f2",
"iris.tests.test_plot.TestPlotDimAndAuxCoordsKwarg.test_coord_names.0": "b87830b0c786cf269ec766c99399cce998d3b3166f2530d3658c692d30ec6735",
"iris.tests.test_plot.TestPlotDimAndAuxCoordsKwarg.test_coord_names.1": "b8a53b59c71ac5a6b8791c1867876b63d9e0e65c96199d871cc23339633664ce",
"iris.tests.test_plot.TestPlotDimAndAuxCoordsKwarg.test_coords.0": "b87830b0c786cf269ec766c99399cce998d3b3166f2530d3658c692d30ec6735",
Expand All @@ -197,9 +197,9 @@
"iris.tests.test_plot.TestSymbols.test_cloud_cover.0": "eb5291e494ad6e136b5291ec94ad6e136b5291ec94ad6e136b5291ec94ad6e13",
"iris.tests.test_quickplot.TestLabels.test_alignment.0": "be813fe0954ac07fc0ff3e81c03fc97a6d0094af3f80c17f36a53240d97f2d82",
"iris.tests.test_quickplot.TestLabels.test_contour.0": "a7fd955a7a016d1a3217c962e4819a56c96f3c859b624d2584de3a6999b662db",
"iris.tests.test_quickplot.TestLabels.test_contour.1": "bf802f81c17fc17fc07eb42ac07f3f929130c07e3f81c07f7aa02e85c07f3e81",
"iris.tests.test_quickplot.TestLabels.test_contour.1": "bf802f85c17fc17fc07eb42ac17f3f929130c06e3f80c07f7aa02e85c07f3e81",
"iris.tests.test_quickplot.TestLabels.test_contourf.0": "be816a95957a957ac0fe1e8bc07f7f806e01c07f3f80c07f3fa23f00c07f3d00",
"iris.tests.test_quickplot.TestLabels.test_contourf.1": "bf802f81c17fc17fc07eb42ac07f3f929130c07e3f81c07f7aa02e85c07f3e81",
"iris.tests.test_quickplot.TestLabels.test_contourf.1": "bf802f85c17fc17fc07eb42ac17f3f929130c06e3f80c07f7aa02e85c07f3e81",
"iris.tests.test_quickplot.TestLabels.test_contourf.2": "be816a95907ae508c17e955ac07f3fa0945bc07f3f80c07f3aa36f01c0ff3f80",
"iris.tests.test_quickplot.TestLabels.test_contourf_nameless.0": "be816af5907ee508c17e955ac03f3f809499c07f3f80c07f3a836f81c0ff3f80",
"iris.tests.test_quickplot.TestLabels.test_map.0": "e85a634c86a597a793c9349b94b79969c396c95bcce69a64d938c9b039a58ca6",
Expand All @@ -226,7 +226,7 @@
"iris.tests.test_quickplot.TestQuickplotCoordinatesGiven.test_zx.1": "fa816a85957a957ac03f957ac07f3ba1954ac07e3e81c07f3ea47a85c07e3e80",
"iris.tests.test_quickplot.TestQuickplotCoordinatesGiven.test_zx.2": "a3eded04ff11a492b000985af07fdbb4d1eb366d8c644da79fa68993180f6e81",
"iris.tests.test_quickplot.TestQuickplotCoordinatesGiven.test_zx.3": "aef9793a770085e9205fd696d03ccb2485ca1e43952f1934daa66bd1ca6b3c71",
"iris.tests.test_quickplot.TestQuickplotCoordinatesGiven.test_zx.4": "bec13e81c5bec55ac03dd896d17e8d6a1e410af7380008ff1de6fe0099ea237b",
"iris.tests.test_quickplot.TestQuickplotCoordinatesGiven.test_zx.4": "bec13e81c5bec55ac03dd8b4d17a8d6a1e4108f7384008ff1de6fe0099ee237b",
"iris.tests.test_quickplot.TestQuickplotCoordinatesGiven.test_zx.5": "ea1595ac95e8689d95fb7b0595291963916f3b73487fccf2680484f2486ec6f0",
"iris.tests.test_quickplot.TestTimeReferenceUnitsLabels.test_not_reference_time_units.0": "82f8a19e7f51888c6001dda6855fd9a2dd7f986281ee19f389ff03ffdc007e00",
"iris.tests.test_quickplot.TestTimeReferenceUnitsLabels.test_reference_time_units.0": "82fa80997f547799a0037a00d52f0956ddaf9f7e98a1816e09f5d8260bfffe00"
Expand Down
1 change: 0 additions & 1 deletion requirements/ci/py38.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ dependencies:
# Test dependencies.
- filelock
- imagehash >=4.0
- pillow <7
- pre-commit
- psutil
- pytest
Expand Down