Skip to content

Test failures on this_image > 1 get counted but not reported #69

Open
@zbeekman

Description

@zbeekman

If a test fails on any image other than this_image() == 1 then the total tests passed accurately reflects the failure, however, which test actually failed is not reported during the call to %characterize(). So the list of each of the tests in the section of the test suite will report tests as passing that actually failed.

This is because there is never an opportunity to call %passed() to reduce the statuses across images between test result instantiation and the call to characterize. Unfortunately this would be an easy fix, except for the fact that coarray collectives are impure procedures and language requirements prevent you from calling impure procedures where you would need to in order to easily remedy this situation.

module procedure construct
test_result%description_ = description
test_result%passed_ = passed
end procedure
module procedure characterize
characterization = trim(merge("passes on ", "FAILS on ", self%passed_)) // " " // trim(self%description_) // "."
end procedure
module procedure passed
test_passed = self%passed_
call co_all(test_passed)
end procedure

I don't know an easy fix off the top of my head, I looked into it a bit and found plenty of options that didn't work, however.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions