-
Notifications
You must be signed in to change notification settings - Fork 26
Description
Describe the Enhancement
The existing testing infrastructure for MET uses Perl to run the unit tests defined in each XML file. #2717 switches the Perl control logic over to Python. This task is to reimplement the R-based differencing logic in MET to using Python-based implementation in METplus.
The comp_*.sh
scripts in the bin directory are just wrappers to the R functions defined in the R_test directory.
This line of test_regression.sh
calls comp_dir.sh
to compare the output generated by 2 different runs of the unit tests. That script should be updated to run the Python-based METplus differencing logic instead. The current METplus differencing logic can be found in diff_util.py.
Note that additional work may be required to enhance the METplus differencing logic. For example, if the unit tests are enhanced in #2717 to store runtime and resource (i.e. memory) consumption information, the differencing logic should be enhanced to compare those outputs between 2 runs.
Time Estimate
2 weeks? But please update as needed.
Sub-Issues
Consider breaking the enhancement down into sub-issues.
None needed at this time.
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
@natalieb-noaa is funded through the DTC to work on METplus tasks.
Define the Metadata
Assignee
- Select engineer(s) or no engineer required
- Select scientist(s) or no scientist required
Labels
- Review default alert labels
- Select component(s)
- Select priority
- Select requestor(s)
Milestone and Projects
- Select Milestone as the next official version or Backlog of Development Ideas
- For the next official version, select the MET-X.Y.Z Development project
Define Related Issue(s)
Consider the impact to the other METplus components.
- METplus, MET, METdataio, METviewer, METexpress, METcalcpy, METplotpy
- May need a new METplus issue to enhance its differencing logic as needed are identified.
Enhancement Checklist
See the METplus Workflow for details.
- 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 issue
Select: Milestone as the next official version
Select: MET-X.Y.Z Development project for development toward the next official release - Iterate until the reviewer(s) accept and merge your changes.
- Delete your fork or branch.
- Close this issue.
Sub-issues
Metadata
Metadata
Assignees
Labels
Type
Projects
Status