Skip to content

Incorrect reporting of ESMPy test failures in summary #95

@billsacks

Description

@billsacks

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:

  1. The ESMPy testing crashes early and so nothing runs at all (e.g., due to missing python packages)
  2. 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.)

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions