Feature templates#19
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #19 +/- ##
===========================================
+ Coverage 58.75% 78.81% +20.06%
===========================================
Files 17 35 +18
Lines 320 1213 +893
===========================================
+ Hits 188 956 +768
- Misses 132 257 +125 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
At this point, tests are passing for user defined templates, including tests which run a simulation and compare cross sections parsed from the output to expected values. See It should be fairly simple to copy and modify this test file to apply to a new test suite. We need test suites for problems with the template types that can be generated in bfrescox:
There is an additional remaining task:
|
|
Also, we could probably simplify testing with https://docs.python.org/3/library/tempfile.html |
jared321
left a comment
There was a problem hiding this comment.
As presently written, a bug could render out tests useless. In particular, they do not print out or produce any output to indicate that they have actually run any tests. GH actions would then blissfully run do-nothing tests and report success.
What do you think about hardcoding the number of expected test cases in each test and having the test confirm that that many tests were actually run?
I've now reviewed all the files changed in this PR. @beykyle Can you please review my changes.
After that, I'll still want to do a quick high-level review of the PR to ensure that we've thought of everything and everything is functioning as expected.
There was a problem hiding this comment.
My two cents:
I suspect that this README is different from what #44 requests. In particular, this README contains lab notes that explain the provenance of the different tests that you all have decided to use to build up your test suites. They provide a record of why, how, what these different tests are so that people designing and maintaining the test suite can do a good job filling out the test suite so that it is effective without being too large or redundant. Therefore, I don't think that the README needs to be placed in a very public place. Rather, putting these notes alongside the test suite definitions makes good sense.
However, as part of #44 we should probably put information in the Developer Guide that explains the structure of the testing infrastructure and how to use it. This could include pointing to this README and emphasizing the need to keep it up-to-date.
this is fine with me |
beykyle
left a comment
There was a problem hiding this comment.
I can smell a merge coming
There was a problem hiding this comment.
I have reviewed the test suite setup and have the following comments/requests
- The
bfrescoxproMPI/OpenMP setups all specify just a single MPI process, which means that we aren't adequately testing MPI functionality. Running these with 2 MPI processes should be sufficient without running afoul of the limited number of processors in GH action runners. - When I run the 48Ca user-provided with
bfrescoxproand 2 MPI processes, the test runs without stopping. It appears that Frescox gets stuck writing data endlessly tofort.38. Please determine if this is due to how we are running/configuring the test setup or if it is a bug in Frescox. If it cannot be fixed and we have to run this setup with just one MPI process, please note this in the test suite README notes and add details. - We presently only test data results loaded from
fort.16, which is the official source of Frescox results. However, the data in those files suffers from serious round-off error. This error is so large that we should be able to set our error checking tolerances to zero absolute difference. Please lower these tolerances as much as possible and add details to the test suite README notes about how threshold values were selected. Also include details regarding this testing limitation offort.16. - Tests should also load data from
stdoutand check it as well since the same data is written tostdoutwith several orders of magnitude more precision.
I can reproduce this, investigating |
… into feature-templates
…mpiexec manually for mpich workflow
Pending PR tasks
bfrescoxtests passing. Please document and justify all test design decisions inTestData/README(e.g., adjusting threshold test value)bfrescoxprotesting to run the same tests asbfrescoxchecktox task)PR Self-review
bfrescoxand confirm that contents are correct and minimal.@jared321 PR Review
bfrescoxpro, on a variety of different machines with modules and different MPI implementationsmain