Skip to content

Test failure on images other than 1 fails to propagate failure #144

@bonachea

Description

@bonachea

Julienne has some support for multi-image parallel testing, but unfortunately this does not correctly handle non-single-valued test failures. The simplest demonstration of this is to inject a test failure on images other than image 1, eg:

if (this_image() > 1) diag = .false.

Without the conditional (i.e. if image 1 returned a failing test_diagnosis_t to Julienne) this would lead to an error stop at the end of report_results. However with the conditional, no error stop is performed, and thus the failure on a non-initial image can easily be missed.

Currently the julienne_test_result_m :: co_characterize procedure tallies each test result across images and prints the failure to message to output_unit for all failing images, but then this information is discarded. The later check for error stop in report_results is conditional on image 1, and at that point image 1 no longer has the necessary information that a failure occurred on another image.

The most expedient fix is probably to remove the image condition in report_results, ensuring any image with failures initiates an error stop.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions