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

Merge berkeleylab fork upstream #31

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

Conversation

rouson
Copy link
Member

@rouson rouson commented Oct 27, 2024

No description provided.

ktras and others added 26 commits September 3, 2024 15:11
In order to test command_line_t, the test suite must run fpm via
execute_command_line.  With flang-new, this requires ensuring that
the fpm flags are passed along to the so-invoked fpm commands.
This commit updateds the README to direct uses to set FPM_FC and
FPM_FFLAGS to ensure that the fpm commands launched by the test
suite receive the necessary flags.
This commit edits the flang CI test script to follow the steps
described in the README.md in commit
09f0fcd.
doc(README): instruct to export FPM_{FC,FFLAGS)
This commit works around flang issue 109589, which causes line
wraps after the 78th character of list-directed output.

See llvm/llvm-project#109589.
Use language-feature macros and work around flang I/O issue
Read string_t-array value from JSON key/value pair
This commit adds

1. A unary operator(.csv.) that produces a string_t object
   encapsulating a comma-separated value (CSV) created from
   a. a string_t array or
   b. a character array,
2. A binary operator(.sv.) that produces a string_t object
   encapsulating a comma-separated value (CSV) created from
   left- and right-hand sides, respectively corresponding to
   a. a string_t array and a string_t separator or
   b. a string_t array and a character separator.
   c. a character array and a character separator
   d. a character array and a string_t separator
3. A unit test that verifies the following identities:

  "a,bc,def" == .csv. [string_t("a"), string_t("bc"), string_t("def")]
  "abc,def"  == .csv. ["abc", "def"]

  "do|re|mi" == (string_t(["do", "re", "mi"])         .sv.          "|" )
  "dore|mi"  == (([string_t("dore"), string_t("mi")]) .sv. string_t("|"))
  "do|re|mi" == (         ["do", "re", "mi"]          .sv.          "|" )
  "do|re|mi" == (         ["do", "re", "mi"]          .sv. string_t("|"))

corresponding to cases 1a-b and 2a-d, respectively.
This commit replaces list-directed printing of the test_t subject
with formatted printing to work around flang's relatively short
wrapping length for list-directed printing.
fix(test_t): prevent subject wrapping in report
This commit switchs the write_lines type-bound procedure to using
formatted output and thereby eliminates line wrapping caused by
LLVM flang's line-length limit on list-directed output.
Fix: eliminate line wrap in file_t write_lines
This commit replaces the previously fragile unit tests for the
command_line_t type with tests that no longer require launching an
fpm subprocess via execute_command_line and checking that child
process's exit status.  The test main program also now prints
instructions for how to run the command_line_t tests if the flags
for running those tests is not detected.
This commit fixes some issues that led to crashes when searched-for
flags are not present or the flag value is not present.
test(command_line_t): improve robustness
Add test_description_t tests simplify derived type
This furthers a pattern of "test_" prefixes in the names of most
of the user-facing features that directly support unit testing.
This commit adds unit tests of the search capability employed when
a user runs a subset of the test suite  by passing a --contains
--contains argument to the test/main.F90 program.
This commit adds an example test suite that can be run with the
command:

fpm run --example main

The resulting output demonstrates the recently capability for
including diagnostic information in test output.
Feature: produce diagnostic output for test failures
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