Releases: BerkeleyLab/julienne
Releases · BerkeleyLab/julienne
Fix and improve assertions
This release
- Works around an Assert 2.0.1 issue that prevents a procedure containing an assertion from having a variable named
string
. - Converts several file name extensions to
.F90
so that most compilers will automatically preprocess such files. - Switches all assertions to use the new Assert 2.0 macros such as
call_assert
andcall_assert_diagnose
to facilitate the complete removal of the assertions by the preprocessor when theASSERTIONS
macro is not set (i.e., when the compiler flag-DASSERTIONS
is not present.
What's Changed
Full Changelog: 1.8.2...1.8.3
1.8.1 Update Assert dependency URL in fpm.toml
What's Changed
Full Changelog: 1.8.0...1.8.1
1.8.0 Support Intel ifx compiler
This release
- Fixes some compiler-dependent code in the test suite so that all tests pass with the Intel
ifx
compiler and - Works around a
gfortran
14.2.0 issue and thereby reduces to one the number of checks that must be disabled withgfortran
.
What's Changed
- Update dependency Assert to 2.0.1 by @rouson in #33
- Fix: work around gfortran 14.2.0 bug by @rouson in #35
- test(string_t): fix line continuation by @rouson in #36
- Fix edit descriptors and add ifx build command to README.md by @rouson in #37
Full Changelog: 1.7.0...1.8.0
String_t construction from logical and complex types
Diagnostic output, test-suite example, and UML diagrams
What's New
- A capability for producing diagnostic output when a test fails. 🩹 🤕
- An example test suite demonstrating the use of diagnostic in a test failure. 🩺
- A
doc/uml/
subdirectory containing UML class and sequence diagrams describing the example test suite. 📖
Executing fpm run --example main
runs the new example test suite.
Changelog Summary
- Add unit tests for test_description_t and simplify the derived type definition by @rouson in #27
- Feature: produce diagnostic output for test failures by @rouson in #28
Full Changelog: 1.5.4...1.6.0
Improve test coverage and robustness
This release
- Replaces the previously fragile unit tests for the
command_line_t
type with tests that no longer require launching an fpm subprocess viaexecute_command_line
and checking that child process's exit status. - Improves test output: if the flags for running the
command_line_t
tests are not detected in thefpm test
command, the main test program prints instructions for running thecommand_line_t
tests . - Updates the CI testing from macOS 12 to the GitHub CI-supported version 13.
- Adds the
.smod
generated submodule file extensions to the.gitignore
file. - Fixes some issues that led to crashes when searched-for flags were not present or the flag value is not present.
- Adds
command_line_t
unit tests.
What's Changed
Full Changelog: 1.5.3...1.5.4
Fix: eliminate line wrapping in file_t write_lines procedure
What's Changed
Full Changelog: 1.5.2...1.5.3
Fix: eliminate line wrapping in test-subject report output
This release 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.
1.5.0
This release
- A unary
operator(.csv.)
with astring_t
result encapsulating a comma-separated value (CSV) created from
a. astring_t
array or
b. acharacter
array, - A binary
operator(.sv.)
with astring_t
result encapsulating a CSV created from left- and right-hand operands:
a. astring_t
array and astring_t
separator or
b. astring_t
array and acharacter
separator.
c. acharacter
array and acharacter
separator
d. acharacter
array and astring_t
separator - 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("|"))
- A
bracket
type-bound procedure and a test verifying the following identities:
scalar%bracket() == string_t("[do re mi]") &
all(array%bracket() == [string_t("[do]"), string_t("[re]"), string_t("[mi]")]) &
all(array%bracket('"') == [string_t('"do"'), string_t('"re"'), string_t('"mi"')]) &
all(array%bracket("{","}") == [string_t('{do}'), string_t('{re}'), string_t('{mi}')]) &
- A
get_string_t_array
specific procedure supporting the genericget_json_value
binding and test verifying the following identities:
associate(json_line => string_t('"lead singer" : ["stevie", "ray", "vaughn"],'))
all( json_line%get_json_value(key=string_t("lead singer"), mold=[string_t::]) == [string_t("stevie"), string_t("ray"), string_t("vaughn")]))
end associate
What's Changed
Full Changelog: 1.4.0...1.5.0
Feature: get_json_value reads string-array value from key/value pair
What's Changed
Full Changelog: 1.3.1...1.4.0