Skip to content

Commit bfbba5f

Browse files
authored
Merge pull request #701 from E3SM-Project/image-checker-updates
Further image checker updates
2 parents 9ae3254 + 1e67adb commit bfbba5f

File tree

3 files changed

+57
-45
lines changed

3 files changed

+57
-45
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ zppy.egg-info/
66
\#*
77

88
examples/example_compy.cfg
9-
min_case_summary.md
9+
test_images_summary.md
1010
test_*_output
1111
tests/*.cfg.txt
1212
tests/integration/image_check_failures*

tests/integration/test_images.py

Lines changed: 54 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -105,21 +105,24 @@ def check_images(expansions, cfg_specifier, case_name, task, diff_dir_suffix="")
105105
task,
106106
)
107107
diff_subdir = f"{diff_dir}/{task}"
108-
# Write missing and mismatched images to files
109-
missing_images_file = f"{diff_subdir}/missing_images.txt"
110-
if os.path.exists(missing_images_file):
111-
os.remove(missing_images_file)
112-
for missing_image in test_results.file_list_missing:
113-
with open(missing_images_file, "a") as f:
114-
f.write(f"{missing_image}\n")
115-
mismatched_images_file = f"{diff_subdir}/mismatched_images.txt"
116-
if os.path.exists(mismatched_images_file):
117-
os.remove(mismatched_images_file)
118-
for mismatched_image in test_results.file_list_mismatched:
119-
with open(mismatched_images_file, "a") as f:
120-
f.write(f"{mismatched_image}\n")
121-
# Create image diff grid
122-
# make_image_diff_grid(diff_subdir)
108+
if os.path.exists(diff_subdir):
109+
# Write missing and mismatched images to files
110+
missing_images_file = f"{diff_subdir}/missing_images.txt"
111+
if os.path.exists(missing_images_file):
112+
os.remove(missing_images_file)
113+
for missing_image in test_results.file_list_missing:
114+
with open(missing_images_file, "a") as f:
115+
f.write(f"{missing_image}\n")
116+
mismatched_images_file = f"{diff_subdir}/mismatched_images.txt"
117+
if os.path.exists(mismatched_images_file):
118+
os.remove(mismatched_images_file)
119+
for mismatched_image in test_results.file_list_mismatched:
120+
with open(mismatched_images_file, "a") as f:
121+
f.write(f"{mismatched_image}\n")
122+
# Create image diff grid
123+
# make_image_diff_grid(diff_subdir)
124+
else:
125+
print(f"Diff subdir {diff_subdir} does not exist.")
123126
return test_results
124127

125128

@@ -158,34 +161,43 @@ def test_images():
158161
expansions = get_expansions()
159162
diff_dir_suffix = ""
160163
test_results_dict: Dict[str, Results] = dict()
161-
for task in ["e3sm_diags", "mpas_analysis", "global_time_series", "ilamb"]:
162-
test_results = check_images(
163-
expansions,
164-
"comprehensive_v2",
165-
V2_CASE_NAME,
166-
task,
167-
diff_dir_suffix=diff_dir_suffix,
168-
)
169-
test_results_dict[f"comprehensive_v2_{task}"] = test_results
170-
for task in ["e3sm_diags", "mpas_analysis", "global_time_series", "ilamb"]:
171-
test_results = check_images(
172-
expansions,
173-
"comprehensive_v3",
174-
V3_CASE_NAME,
175-
task,
176-
diff_dir_suffix=diff_dir_suffix,
177-
)
178-
test_results_dict[f"comprehensive_v3_{task}"] = test_results
179-
for task in ["e3sm_diags", "global_time_series", "ilamb"]: # No mpas_analysis
180-
test_results = check_images(
181-
expansions,
182-
"bundles",
183-
V3_CASE_NAME,
184-
task,
185-
diff_dir_suffix=diff_dir_suffix,
164+
try:
165+
print("Image checking comprehensive_v2")
166+
for task in ["e3sm_diags", "mpas_analysis", "global_time_series", "ilamb"]:
167+
test_results = check_images(
168+
expansions,
169+
"comprehensive_v2",
170+
V2_CASE_NAME,
171+
task,
172+
diff_dir_suffix=diff_dir_suffix,
173+
)
174+
test_results_dict[f"comprehensive_v2_{task}"] = test_results
175+
print("Image checking comprehensive_v3")
176+
for task in ["e3sm_diags", "mpas_analysis", "global_time_series", "ilamb"]:
177+
test_results = check_images(
178+
expansions,
179+
"comprehensive_v3",
180+
V3_CASE_NAME,
181+
task,
182+
diff_dir_suffix=diff_dir_suffix,
183+
)
184+
test_results_dict[f"comprehensive_v3_{task}"] = test_results
185+
print("Image checking bundles")
186+
for task in ["e3sm_diags", "global_time_series", "ilamb"]: # No mpas_analysis
187+
test_results = check_images(
188+
expansions,
189+
"bundles",
190+
V3_CASE_NAME,
191+
task,
192+
diff_dir_suffix=diff_dir_suffix,
193+
)
194+
test_results_dict[f"bundles_{task}"] = test_results
195+
except Exception as e:
196+
construct_markdown_summary_table(
197+
test_results_dict, "early_test_images_summary.md"
186198
)
187-
test_results_dict[f"bundles_{task}"] = test_results
188-
md_path = "min_case_summary.md"
199+
raise e
200+
md_path = "test_images_summary.md"
189201
construct_markdown_summary_table(test_results_dict, md_path)
190202
print(f"Copy output of {md_path} to a PR comment.")
191203
for tr in test_results_dict.values():

tests/integration/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ def get_compy_expansions(config):
230230
"environment_commands_test": "",
231231
"expected_dir": "/compyfs/www/zppy_test_resources/",
232232
"global_time_series_environment_commands": "source <INSERT PATH TO CONDA>/conda.sh; conda activate <INSERT ENV NAME>",
233-
"mpas_analysis_walltime": "00:30:00",
233+
"mpas_analysis_walltime": "02:00:00",
234234
"partition_long": "slurm",
235235
"partition_short": "short",
236236
"qos_long": "regular",
@@ -259,7 +259,7 @@ def get_perlmutter_expansions(config):
259259
"environment_commands_test": "",
260260
"expected_dir": "/global/cfs/cdirs/e3sm/www/zppy_test_resources/",
261261
"global_time_series_environment_commands": "source <INSERT PATH TO CONDA>/conda.sh; conda activate <INSERT ENV NAME>",
262-
"mpas_analysis_walltime": "01:00:00",
262+
"mpas_analysis_walltime": "03:00:00",
263263
"partition_long": "",
264264
"partition_short": "",
265265
"qos_long": "regular",

0 commit comments

Comments
 (0)