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 31 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
f4cb506
test(main): switch to julienne
rouson Dec 28, 2024
7ebab05
chore(fpm.toml): switch dev-dependencies
rouson Dec 28, 2024
1d87e74
chore(test): preprocess test main
rouson Dec 28, 2024
d70e76c
fix(test/main): always call prif_init
rouson Dec 28, 2024
b0354e1
test(stopis): def new project to test termination
rouson Dec 28, 2024
b425d2f
doc(test-termination): update README.md
rouson Dec 28, 2024
ad8f546
doc(test-termination): update README.md
rouson Dec 28, 2024
435d148
rm(co_reduce_test): rm temporary code
rouson Dec 29, 2024
ce8aa06
test: extend test_t, override report binding
rouson Dec 29, 2024
c2b765f
fix(co_min_test): simplify logic
rouson Dec 29, 2024
3f26d78
fix(com_max_test): borrow logic from co_min_test
rouson Dec 29, 2024
dec2d23
fix(co_reduce_test): improve logic
rouson Dec 29, 2024
7268613
refac(prif_test_s): make co_all impure elemental
rouson Dec 30, 2024
2ffdbb6
chore(prif_test_s): rm redundant logic in report
rouson Dec 30, 2024
7ce33b7
doc(test-termination/README): specify environment
rouson Jan 2, 2025
3b5c974
build(test-terminatio): add fpm.toml file
rouson Jan 2, 2025
dd3fb3a
build: rm external assert lib dependence
rouson Jan 2, 2025
00ae2b3
chore: rm unused parameter declarations
rouson Jan 3, 2025
6d03002
test(co_reduce): fix standard violations
rouson Jan 3, 2025
9ae13e9
test(this_image): report diagnostics if test fails
rouson Jan 3, 2025
1da811b
test(num_images): report diagnostics if test fails
rouson Jan 3, 2025
9ab0a7f
test(init): report diagnostics if test fails
rouson Jan 3, 2025
5cc1538
test(image_index): report diagnostics for failures
rouson Jan 3, 2025
9341364
test(co_broadcast):report diagnostics for failures
rouson Jan 3, 2025
a529490
test(co_sum): report diagnostics for test failures
rouson Jan 4, 2025
277c746
test(co_min): report diagnostics for test failures
rouson Jan 4, 2025
b3e90e5
test(co_max): report diagnostics for test failures
rouson Jan 4, 2025
d70134e
test(teams): report diagnostics for test failures
rouson Jan 4, 2025
e892ce2
test(rma): report diagnostics for test failures
rouson Jan 4, 2025
8a74c08
build(fpm): upgrade dependency to julienne 1.7.0
rouson Jan 6, 2025
fcf2fa8
test(co_reduce): report test failure diagnostics
rouson Jan 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions example/support-test/README.md

This file was deleted.

4 changes: 2 additions & 2 deletions manifest/fpm.toml.template
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ maintainer = "[email protected]"
copyright = "2021-2024 UC Regents"

[dev-dependencies]
veggies = {git = "https://gitlab.com/everythingfunctional/veggies", tag = "v1.1.3"}
iso_varying_string = {git = "https://gitlab.com/everythingfunctional/iso_varying_string.git", tag = "v3.0.4"}
julienne = {git = "https://github.com/berkeleylab/julienne.git", tag = "1.5.3"}
assert = {git = "https://github.com/berkeleylab/assert.git", tag = "2.0.0"}
Copy link
Member

Choose a reason for hiding this comment

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

If we are adding a project dependence on berkeleylab/assert (which I DO support), then we should also excise the current caffeine_assert_s module which was added as a temporary workaround for a lack of a real assertion library.

However this change is also orthogonal to the Julienne transition and feels like it belongs in a separate PR.


[build]
53 changes: 53 additions & 0 deletions test-termination/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
Test Termination
----------------
The code in this subdirectory intentionally terminate to tests the following
procedures and interface from prif.F90:
- `prif_error_stop`
- `prif_register_stop_callback`
- `prif_stop_callback_interface`
- `prif_stop`

Usage
-----
To build or rebuild and run the tests in this subdirectory, execute the following
commands:
```
fpm clean --all
cd ..
./install.sh
cd -
mkdir build
cp ../build/run-fpm.sh build
../build/run-fpm.sh test
```
which should yield trailing output similar to the following:
```
ERROR STOP 'USER_PROVIDED_STRING'
callback invoked
STOP
STOP 'USER_PROVIDED_STRING'
STOP 99
STOP
<ERROR> Execution for object " error_stop_with_character_code " returned exit code 1
<ERROR> Execution for object " error_stop_with_integer_code " returned exit code 100
<ERROR> Execution for object " error_stop_with_no_code " returned exit code 1
<ERROR> Execution for object " stop_with_integer_code " returned exit code 99
<ERROR> *cmd_run*:stopping due to failed executions
STOP 1
```
The environment variables that might be relevant to reproducing the above behavior
include `FPM_FC`, `FPM_CC`, `FPM_FFLAGS`, `LC_RPATH`, and either `DYLD_LIBRARY_PATH`
on macOS or `LD_LIBRARY_PATH` on Linux. On the macOS system tested, `FPM_FC`
and `FPM_CC` point to `flang-new` and `clang` (version information below), whereas
`LC_RPATH` and `DYLD_LIBRARY_PATH` are both set to the same path as that of `flang-new`
but with the trailing `bin` replaced by `lib`.

```
% flang-new --version
flang-new version 20.0.0git ([email protected]:ROCm/llvm-project 27e3c3a2c5716678cef303ba211ccea46a421b00)
Target: arm64-apple-darwin23.6.0
Thread model: posix
InstalledDir: /Users/rouson/Repositories/llvm-project/install/rocm/bin
Build config: +assertions
```

10 changes: 10 additions & 0 deletions test-termination/fpm.toml
Copy link
Member

Choose a reason for hiding this comment

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

I'm not yet convinced that the proposed change fully resolves all six of the problems outlined in issue #137 that this PR claims to solve. However it might be a step in the right direction?

Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name = "Caffeine-Termination-Tests"
license = "(Please see caffeine/LICENSE.txt.)"
author = "(Please see caffeine/fpm.toml.)"
maintainer = "(Please see caffeine/fpm.toml.)"

[dev-dependencies]
caffeine = { path = ".." }

[build]
link = ["gasnet-smp-seq", "gcc"]
42 changes: 0 additions & 42 deletions test/a00_caffeinate_test.f90

This file was deleted.

78 changes: 0 additions & 78 deletions test/caf_allocate_test.f90

This file was deleted.

68 changes: 0 additions & 68 deletions test/caf_co_broadcast_test.f90

This file was deleted.

Loading