Many basic aspects of CIME functionality are still untested. For example, the key concepts:
- Upon model failure, the user will have a message "Model fail, see $logfile" at the bottom of their output.
- Upon model build failure, the user will have a message "$component build failure, see $logfile" at the bottom of their output.
... are completely untested.
The barriers to testing CIME are significant:
- Two different models
- 20+ different machines
- How do I test that a feature works for cheyenne on melvin?
- Much of cime's configuration is "hard wired", IE, exists in files in the repo. Making it hard to test various XML configurations on the fly.
- How do I test that sandiatoss3 would work with X,Y,Z changes to config_batch.xml on melvin?
Proposal:
- A new --test option to case.setup that will make it work on any --machine=X regardless of the underlying actual machine.
- A new "CIME VM/docker" that will allow us to load and test any arbitrary XML configurations and test them from any machine.
- Some tracking of coverage, at least of key features, maybe assisted by LOC coverage.
Many basic aspects of CIME functionality are still untested. For example, the key concepts:
... are completely untested.
The barriers to testing CIME are significant:
Proposal: