Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

rouson
Copy link
Collaborator

@rouson rouson commented Aug 28, 2025

This PR

  1. Creates Julienne unit tests in test/julienne that replace corresponding veggies tests in test/.
  2. Completes approximately 40% of the transition to Julienne in terms of lines of code.
  3. Adds a Julienne test driver in test/julienne/driver.F90.
  4. Maintains coverage such that the Julienne tests + the Veggies tests = the Original Veggies tests.

The decision about which tests to prioritize for transitioning first was driven by file size with the work progressing from the smallest file to the largest file. A couple of relatively minor features have been added in Julienne 3.1.0 in order to support Caffeine, but there no known issues preventing continuing this process with the remaining tests. At this point, the only known hurdle is available developer time.

@bonachea bonachea self-requested a review August 28, 2025 17:11
Copy link
Member

@bonachea bonachea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rouson it appears you've inadvertently committed three copies of the GASNet install tree to this PR branch, which makes it very difficult to review the PR and probably at least partially explains the CI failures. These stray directories must be deleted from the branch and squashed out of the git history, to ensure these binaries don't eventually end up merged and bloat the Caffeine git repo.

Would you like to address that chore or shall I?

@rouson
Copy link
Collaborator Author

rouson commented Aug 28, 2025

@bonachea Oops! Sorry. Please fix this when you have time -- no rush.

This commit adds a test-suite driver, test/julienne/driver.f90,
with supporting tests for the following subroutines:

- prif_co_broadcast
- prif_co_min
- prif_co_max
- prif_image_queries
- prif_init
- prif_num_images
- prif_this_image_no_coarray
- prif_sync_images

All new tests are in test/julienne.  All tests pass.

TODO: restrict output to image 1

chore: rm redundant tests

This commit removes veggies tests for the following subroutines
because they are now redundant with the correspondiong julienne
tests added in a prior commit:

-  prif_co_broadcast
-  prif_co_max
-  prif_co_min
-  prif_image_queries
-  prif_num_images
-  prif_sync_images
-  prif_this_image

This commit retains the redundant prif_init test becuase it is
presumalby needed for the proper launch of the veggies tests.

build(fpm.toml.template): add Julienne 3.0.0 dep

test(co_sum): add julienne test, rm veggies test

test(co_reduce): add julienne test|rm veggies test

chore: non_overridable test_t child type-bnd-procs

fix(image_queries_test): add closing parens

test: add prif_coarray_inquiry_test_m

fix: rm binary

chore: rm veggies prif_coarray_inquiry_test

fix(test/julienne): support GCC 13 - 14.2

chore: rm reference to deleted veggies test

chore: rm partially complete julienne test

build(include): fix macro logic/syntax

test(julienne): append to diagnostics strings

This commit appends the text from veggies assertions  "message"
argument to test diagnoses in the corresponding Julienne tests.
For example, a veggies assertion of the form

assert_equals(actual, expected, message)

becomes a Julienne test diagnosis of the following form:

(actual .equalsExpected. expected) // message

Remove inadvertently added GASNet install trees
@bonachea
Copy link
Member

I removed the GASNet install trees, but now I notice other stray files that appear to have also been inadvertently added. I'll assume I also have your permission to remove those.

@rouson
Copy link
Collaborator Author

rouson commented Aug 29, 2025

@bonachea I fixed the issue that was causing failures. All tests pass now. This PR is ready for review.

…iew and maintenance

There are zero code changes in this commit
@bonachea
Copy link
Member

bonachea commented Aug 30, 2025

As discussed in our meeting today, git has a hard time following file renames that include content changes, which unfortunately initially made this PR's diffs unreadable. This is the reason Caffeine's coding conventions require file renames to occur in an isolated commit (preferably in an isolated PR). In this case it didn't seem like the renames were critical to the main point of the PR, so as agreed verbally today, I've just pushed commit a41bde2 reverting the file renames (with no content changes), which successfully restored readable diffs.

We can always rename files later in a subsequent PR that omits content changes, assuming there's a compelling motivation for it.

CI tests are still passing, and I hope to find time to review this PR next week.

@rouson
Copy link
Collaborator Author

rouson commented Aug 30, 2025

@bonachea sounds good. I really like Caffeine's coding conventions and hadn't noticed them before.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants