Skip to content

Decouple the MET unit tests from the MET installation location #3051

@georgemccabe

Description

@georgemccabe

Currently, the MET unit tests assume that you are testing apps and scripts that were installed into the MET repo location. Modifications could be made to decouple the paths to the files that should be installed and the files that should be found relative to the test scripts in the source repository.

We can also remove the need for the MET_BUILD_BASE environment variable in running the unit tests.

Describe the Problem

We need to be able to test an MET installation in another location from the MET repo location.

Expected Behavior

Running tests with an environment similar to this should work:

export MET_TEST_INPUT=/d1/projects/MET/MET_test_data/unit_test
export MET_TEST_OUTPUT=/d1/personal/mccabe/met_test_output
export MET_TEST_BASE=/home/mccabe/MET/internal/test_unit
export MET_BASE=/home/mccabe/.conda/envs/my_test_env_mamba/share/met
export MET_TEST_MET_PYTHON_EXE=/home/mccabe/.conda/envs/my_test_env_mamba/bin/python3
export MET_TEST_RSCRIPT=/nrit/ral/bin/Rscript

Environment

Describe your runtime environment:
1. Machine: (e.g. HPC name, Linux Workstation, Mac Laptop)
2. OS: (e.g. RedHat Linux, MacOS)
3. Software version number(s)

To Reproduce

Describe the steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
Post relevant sample data following these instructions:
https://dtcenter.org/community-code/model-evaluation-tools-met/met-help-desk#ftp

Relevant Deadlines

List relevant project deadlines here or state NONE.

Funding Source

NCAR base (2702701) -- this was needed to complete dtcenter/METplus#2863

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 bugfix version
  • Select Coordinated METplus-X.Y Support project for support of the current coordinated release
  • Select MET-X.Y.Z Development project for development toward the next official release

Define Related Issue(s)

Consider the impact to the other METplus components.

Bugfix 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 main_<Version>.
    Branch name: bugfix_<Issue Number>_main_<Version>_<Description>
  • Fix the bug 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 main_<Version>.
    Pull request: bugfix <Issue Number> main_<Version> <Description>
  • Define the pull request metadata, as permissions allow.
    Select: Reviewer(s) and Development issue
    Select: Milestone as the next bugfix version
    Select: Coordinated METplus-X.Y Support project for support of the current coordinated release
  • Iterate until the reviewer(s) accept and merge your changes.
  • Delete your fork or branch.
  • Complete the steps above to fix the bug on the develop branch.
    Branch name: bugfix_<Issue Number>_develop_<Description>
    Pull request: bugfix <Issue Number> develop <Description>
    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
  • Close this issue.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

🏁 Done

Relationships

None yet

Development

No branches or pull requests

Issue actions