The Australian BOM requires a certain test coverage percentage in order for software to be run operationally. This requirement applies to both METplus (python requirement of 90+% coverage) and MET (unknown coverage requirements). This task is to setup code coverage computation for MET and consists of multiple steps.
Identify which toolchain to use (consider the GNU gcov utility).
Compile MET with coverage enabled.
Run full set of MET unit tests and write coverage information.
Produce a report to quantify the coverage.
Quantify the impact to runtime performance.
Automate the computation of code coverage via GHA.
Acceptance Testing
List input data types and sources.Describe tests required for new functionality.
Time Estimate
Estimate the amount of work required here.Issues should represent approximately 1 to 3 days of work.
Sub-Issues
Consider breaking the new feature down into sub-issues.
Not sure yet.
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
Define the source of funding and account keys here or state NONE.
Define the Metadata
Assignee
[x] Select engineer(s) or no engineer required
[ ] Select scientist(s) or no scientist required
Labels
[x] Select component(s)
[x] Select priority
[x] Select requestor(s)
Projects and Milestone
[x] Select Repository and/or Organization level Project(s) or add alert: NEED CYCLE ASSIGNMENT label
[x] Select Milestone as the next official version or Future Versions
Define Related Issue(s)
Consider the impact to the other METplus components.
[ ] Complete the issue definition above, including the Time Estimate and Funding source.
[ ] Fork this repository or create a branch of develop.
Branch name: feature_<Issue Number>_<Description>
[ ] Complete the development and test your changes.
[ ] Add/update log messages for easier debugging.
[ ] Add/update unit tests.
[ ] Add/update documentation.
[ ] Push local changes to GitHub.
[ ] Submit a pull request to merge into develop.
Pull request: feature <Issue Number> <Description>
[ ] Define the pull request metadata, as permissions allow.
Select: Reviewer(s) and Development issues
Select: Repository level development cycle Project for the next official release
Select: Milestone as the next official version
[ ] Iterate until the reviewer(s) accept and merge your changes.
Describe the New Feature
The Australian BOM requires a certain test coverage percentage in order for software to be run operationally. This requirement applies to both METplus (python requirement of 90+% coverage) and MET (unknown coverage requirements). This task is to setup code coverage computation for MET and consists of multiple steps.
Acceptance Testing
List input data types and sources. Describe tests required for new functionality.
Time Estimate
Estimate the amount of work required here. Issues should represent approximately 1 to 3 days of work.
Sub-Issues
Consider breaking the new feature down into sub-issues. Not sure yet.
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
Define the source of funding and account keys here or state NONE.
Define the Metadata
Assignee
Labels
Projects and Milestone
Define Related Issue(s)
Consider the impact to the other METplus components.
New Feature Checklist
See the METplus Workflow for details.
feature_<Issue Number>_<Description>
feature <Issue Number> <Description>