-
Notifications
You must be signed in to change notification settings - Fork 6
Description
When there are failures in some ESMPy tests, at least under some conditions, the summary gives:
esmpy tests: PASS 0 FAIL 0
The test results page then shows up as green (as if everything passed) when in fact nothing passed.
I have seen this behavior when:
- The ESMPy testing crashes early and so nothing runs at all (e.g., due to missing python packages)
- The ESMPy testing runs but there is a failed test (e.g., seen in https://github.com/esmf-org/esmf-test-artifacts/tree/964fdf924eb56a17259ac664a6844607a958bfc6/v8.6.1/gfortranclang/12.2.0_14.0.0/O/openmpi/4.1.4)
The issue in both cases seems to be that we don't get a line like this:
{"created": 1713902603.392947, "duration": 260.6280379295349, "exitcode": 0, "root": "/Users/sacks/projects/scratch/esmf-testing/gfortranclang_12.2.0_14.0.0_openmpi_g_develop/esmf/src/addon/esmpy", "environment": {}, "summary": {"passed": 118, "skipped": 4, "xfailed": 8, "xpassed": 1, "total": 131, "collected": 131}}
In case (2), we do get the results in a different format:
= 118 passed, 4 skipped, 8 xfailed, 1 xpassed, 15 warnings in 260.64s (0:04:20) =
but that's not the format picked up by the ESMPy test result parsing in collect_artifacts.py. (When all tests pass, that different format appears first, and then there's a final line that starts with {"created":.)
A different but related issue (but with a different cause) is: when an ESMPy test fails with a given processor count, the other processor counts aren't run. Probably we should run all of the processor counts even if there are failed tests. (That's probably an issue in the ESMPy test scripts themselves, not in this repository, but I haven't dug into it.)