Skip to content
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

Test with Julienne #169

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
Open

Test with Julienne #169

wants to merge 12 commits into from

Conversation

rouson
Copy link
Collaborator

@rouson rouson commented Dec 28, 2024

This PR replaces PR #133 and accomplishes the following:

  1. Switch from testing with Veggies to testing with Julienne.
  2. Fix issue Unit tests for prif_stop and prif_error_stop make fragile non-portable assumptions #137 by moving the termination tests to a separate fpm project in the new test-termination/ subdirectory as suggested in comment r1761996357.
  3. Define a new prif_test_t type that extends Julienne's test_t type and override test_t's report type-bound procedure, replacing parallel Fortran features with PRIF calls.

The primary motivation for the switch to Julienne is complexity reduction: the Julienne software stack contains 3850 lines of code versus 30513 in Veggies as determined by executing following command on the current main branch of both repositories:

wc -l `find src example test build/dependencies -iname '*.f90'

As a consequence, the test suite runs much faster even after accounting for some possible reduction in test coverage because this test suite was originally developed in 3-4 months ago so any tests added to the Veggies-based test suite since then are not represented here. Determining whether and to what extent the test coverage is actually diminished needs is on the To Do list below.

To Do

  • Edit the CI scripts to run the termination tests in the new test-termination subdirectory.
  • Review and edit the test/ and test-termination/ subdirectories to match the test coverage of the previous Veggies-based tests.

@rouson rouson mentioned this pull request Dec 28, 2024
16 tasks
@rouson rouson force-pushed the test-with-julienne branch from 189c949 to 886233a Compare December 28, 2024 19:46
Test coverage:
* prif_init
* prif_allocate, prif_deallocate, prif_allocate_coarray, prif_deallocate_coarray
* prif_co_broadcast, prif_co_max, prif_co_min, prif_co_sum, prif_co_reduce
* prif_image_index, prif_num_images, prif_this_image_no_coarray
* prif_put, prif_get
* prif_sync_all
* prif_team_type, prif_form_team, prif_change_team, prif_end_team
This commit replaces veggies and iso_varying_string in the fpm
manifest with julienne and assert.
This commit fixes a problem that caused seg faults when running
subsets of tests. Previously, if the subset didn't include the
prif_init test, then prif_init was never called.  This commit calls
prif_init in test/main.F90 before running the tests.  Consequently,
the test for normal execution of prif_init now happens via an
assertion rather than in a unit test.
As suggested in the following comment, this commit defines a separate
project for testing program termination:
#133 (comment)
This commit removes code that was temporarily inserted when
diagnosing a flang bug and uncomments the correct code.
@rouson rouson force-pushed the test-with-julienne branch from 886233a to 435d148 Compare December 29, 2024 04:51
This commit defines a new prif_test_t type that extends Julienne's
test_t type in ordero to override test_t's "report" type-bound
procedure in order to replace parallel Fortran featuers with PRIF
calls.
@rouson rouson marked this pull request as draft December 29, 2024 07:49
@rouson rouson marked this pull request as ready for review December 29, 2024 07:53
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.

1 participant