-
Notifications
You must be signed in to change notification settings - Fork 11
Finish conversion of testing to Julienne infrastructure #274
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
ktras
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only reviewed the docs changes so far, but submitting the review to ensure I don't lose the review comments. Will continue to review rest of PR.
ktras
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
bonachea
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some issues discovered through end-to-end read
89fc724 to
2fc3ed4
Compare
ktras
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added code suggestion to bump Julienne release now that 3.5.0 is available.
This is a combination of 12 commits: refactor(prif_rma_test): switch to julienne refactor(prif_strided_test): switch to julienne refactor(prif_allocate_test): switch to julienne refactor(prif_event_test): switch to julienne refactor(prif_teams_test): switch to julienne refactor(prif_image_index_test):switch to julienne refactor(prif_atomic_test): switch to julienne refactor(prif_error_stop_test): switch to julienne refactor(prif_stop_test): switch to julienne chore(prif_init ): rm redundant test module chore: reorder tests This commit reorders the tests to match the test-execution ordering of commit 6db489: roughly simplest to most complicated. test(driver): add all remaining julienne tests
Add some comments with rationale for the ordering
* Upgrade unit_test_parameters_m getenv query to include verbose-mode reporting * Add an FPM_DRIVER envvar to parameterize the fpm invcations in the stop tests This improves robustness of the stop tests when sharing a build directory between different configurations.
It turns out we still need this hack for Julienne, to ensure the `--contains` filter works correctly. For details see Julienne issue 142.
…om gfortran
Examples seen from gfortran 14.2:
```
test/prif_event_test.F90:61:10:
61 | ])
| ^
Warning: '_F.DA0.offset' is used uninitialized [-Wuninitialized]
test/prif_event_test.F90:357:28:
357 | end module prif_event_test_m
| ^
note: '_F.DA0' declared here
test/prif_event_test.F90:61:10:
61 | ])
| ^
Warning: '_F.DA0.dim[0].lbound' is used uninitialized [-Wuninitialized]
test/prif_event_test.F90:357:28:
357 | end module prif_event_test_m
| ^
note: '_F.DA0' declared here
test/prif_event_test.F90:61:10:
61 | ])
| ^
Warning: '_F.DA0.dim[0].ubound' is used uninitialized [-Wuninitialized]
```
New ALSO macros allow for more concise expression of the incremental
diagnosis idiom, increasing readability of the test without degrading
diagnostic output.
BEFORE:
```
diag = diag .also. (.expect. (.not. c_associated(c1))) // "expected .not. c_associated(c1)"
diag = diag .also. (query_size .equalsExpected. data_size) // "invalid prif_size_bytes"
```
AFTER:
```
ALSO(.expect. (.not. c_associated(c1)))
ALSO2(query_size .equalsExpected. data_size, "invalid prif_size_bytes")
```
The use of a macro also makes it simple to automatically include exact line number
information in the diagnostic output of a failure, example output:
```
FAILS on allocating, using and deallocating an integer array coarray with a corank of 2.
diagnostics:
expected to be true
./test/prif_allocate_test.F90:176: FAILED: expression: (.expect.(.not. c_associated(c1)))
```
Co-authored-by: Katherine Rasmussen <[email protected]>
* New `test_diagnosis_t` copy constructor allows the `ALSO` macros to accept either `test_diagnosis_t` or default logical * This in turn allows removal of many uses of `.expect.`
4e4390e to
a05c289
Compare
ktras
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated changes LGTM.
This PR begins with one commit containing the (rebased & squashed) commits authored by @rouson in rouson#1.
The subsequent commits are my own cleanups and refinements.
Highlights:
FPM_DRIVERvariable helps to slightly improve robustness of the exit testsThe intent is there should be NO changes to the PRIF calls being made, and logic of what's actually being tested should be entirely equivalent to main.