idaholab / FORCE

The Framework for Optimization of ResourCes and Economics is a collection of software tools, models, and datasets acquired and developed under the Integrated Energy Systems (IES) program to enable analysis of technical and economic viability of myriad IES configurations. FORCE is the consolidating interface and data repository for all the IES toolsets ranging from macro technoeconomic analysis to transient process modeling and experimental validation for integrated energy systems.
MIT License
7 stars 13 forks source link

[TASK] Add code coverage tracking #23

Closed caleb-sitton-inl closed 1 month ago

caleb-sitton-inl commented 2 months ago

Issue Description

Is your feature request related to a problem? Please describe. No. Code coverage tracking merely provides a quantitative approximation of the comprehension of the overall test suite and eases the process of identifying specific areas where additional testing is most valuable.

Describe the solution you'd like A script should be added that allows the user to check the coverage of FORCE. It should return detailed information including not only the total coverage percentage, but also the specific percentages for individual files and functions. This script should not mask the results of the tests run. In addition, if the additional overhead time from running tests with coverage is acceptably low, the run_tests call in the testing github action should be replaced with a version that also checks coverage. Presumably this would be the same script as recommended above.

Describe alternatives you've considered Manually approximating which files, functions, etc. need additional testing is far less precise than checking coverage, and is thus not a good solution. If the overhead time caused by running coverage tracking every time the github action is run is at some point unacceptably high, reverting the github action to its previous form and checking coverage less frequently is an easy change.


For Change Control Board: Issue Review

This review should occur before any development is performed as a response to this issue.


For Change Control Board: Issue Closure

This review should occur when the issue is imminently going to be closed.