Skip to content

Commit 9052d27

Browse files
committed
Reorganize test suite
Consolidate in one dirver script. Move templates and configs to subdirs. Switch to pixi workflow for dev tests.
1 parent 9b397ac commit 9052d27

13 files changed

Lines changed: 231 additions & 209 deletions

File tree

docs/developers_guide/quick_start.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,12 @@ MPAS-Analysis development.
8080
8181
pixi shell
8282
83+
- To run the analysis regression suite from the same Pixi environment:
84+
85+
.. code-block:: bash
86+
87+
./suite/run_suite.bash --dev
88+
8389
7. Configure and Run MPAS-Analysis
8490
----------------------------------
8591
- Copy and edit a config file (e.g., ``example_e3sm.cfg``) for your run.

docs/developers_guide/test_suite.rst

Lines changed: 32 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -9,37 +9,36 @@ unexpected results and to validate MPAS-Analysis in various environments.
99
Overview of Test Scripts
1010
------------------------
1111

12-
There are three main scripts for running the test suite:
12+
The main entry point is ``suite/run_suite.bash``. It supports three modes:
1313

14-
1. **run_dev_suite.bash** (Developer Testing)
14+
1. **Developer Testing**: ``./suite/run_suite.bash --dev``
1515

16-
- Use this script after activating your development environment, typically
17-
with ``pixi shell`` from the repository root.
16+
- This is the recommended workflow for development in a Pixi environment.
1817

19-
- It builds the documentation and runs a series of analysis tasks on output
20-
from a low-resolution (QUwLI240) simulation.
21-
22-
- Each task produces a web page with results, accessible via the web portal.
23-
24-
- Example usage:
18+
- Run it either from an active Pixi shell or with an explicit Pixi
19+
environment name:
2520

2621
.. code-block:: bash
2722
2823
$ pixi shell
29-
$ ./suite/run_dev_suite.bash
24+
$ ./suite/run_suite.bash --dev
3025
31-
- After completion, check for successful web page generation, e.g.:
26+
or:
3227

3328
.. code-block:: bash
3429
35-
$ tail -n 3 chrysalis_test_suite/main_py3.11/mpas_analysis.o793058
30+
$ ./suite/run_suite.bash --dev --pixi-env py313
3631
37-
The last lines should include:
32+
- It builds the documentation, renders the suite configs, and submits the
33+
suite jobs using ``pixi run`` in the selected environment.
3834

39-
.. code-block:: none
35+
- Each task produces a web page with results, accessible via the web portal.
36+
37+
- After completion, check for successful web page generation, e.g.:
38+
39+
.. code-block:: bash
4040
41-
Generating webpage for viewing results...
42-
Web page: https://web.lcrc.anl.gov/public/e3sm/diagnostic_output/<username>/analysis_testing/chrysalis/<branch>/main_py3.11/
41+
$ tail -n 3 chrysalis_test_suite/main_py3.13/mpas_analysis.o793058
4342
4443
- To quickly identify unfinished or failed tasks:
4544

@@ -50,34 +49,24 @@ There are three main scripts for running the test suite:
5049
- Developers should run this suite manually on each pull request before
5150
merging and link the results in the PR.
5251

53-
2. **run_suite.bash** (Package Build & Test)
52+
2. **Package Build & Test**: ``./suite/run_suite.bash``
5453

55-
- Use this script to build the MPAS-Analysis conda package and test it in
56-
fresh environments.
54+
- This mode builds the MPAS-Analysis conda package and tests it in fresh
55+
environments.
5756

5857
- It creates conda environments for multiple Python versions, runs tests,
5958
builds documentation, and executes the analysis suite.
6059

6160
- Recommended for more thorough validation, especially before releases.
6261

63-
- Example usage:
62+
3. **E3SM-Unified Deployment Testing**:
63+
``./suite/run_suite.bash --e3sm-unified``
6464

65-
.. code-block:: bash
66-
67-
$ ./suite/run_suite.bash
68-
69-
3. **run_e3sm_unified_suite.bash** (E3SM-Unified Deployment Testing)
70-
71-
- Used during test deployments of E3SM-Unified to verify MPAS-Analysis
72-
works as expected within the deployment.
73-
74-
- Typically run by E3SM-Unified maintainers during deployment testing.
75-
76-
- Example usage:
77-
78-
.. code-block:: bash
65+
- This mode is used during test deployments of E3SM-Unified to verify
66+
MPAS-Analysis works as expected within the deployment.
7967

80-
$ ./suite/run_e3sm_unified_suite.bash
68+
- It is typically run by E3SM-Unified maintainers during deployment
69+
testing.
8170

8271
Supported Machines
8372
------------------
@@ -102,8 +91,9 @@ Developers may need to update the suite for new requirements:
10291

10392
- **Python Versions**:
10493

105-
- The Python versions tested are defined in the scripts (e.g.,
106-
`main_py=3.11`, `alt_py=3.10`).
94+
- The Python versions tested in package mode are defined at the top of
95+
``suite/run_suite.bash`` (for example ``main_py=3.13`` and
96+
``alt_py=3.12``).
10797

10898
- To test additional versions, add them to the relevant script variables and
10999
loops.
@@ -118,8 +108,8 @@ Developers may need to update the suite for new requirements:
118108

119109
- **Adding/Modifying Tests**:
120110

121-
- To add new tests, update the list of runs in the scripts and
122-
provide corresponding config files in the `suite` directory.
111+
- To add new tests, update the run lists in ``suite/run_suite.bash`` and
112+
provide corresponding config files in ``suite/configs``.
123113

124114
- New tests could change which analysis tasks are run, the configuration for
125115
running tasks overall (e.g. how climatologies are computed), or how
@@ -143,5 +133,5 @@ Best Practices
143133
- Update the suite scripts and configs as needed to keep pace with
144134
MPAS-Analysis development.
145135

146-
For more details, see the comments and documentation within each script and
147-
config file in the `suite` directory.
136+
The suite templates live in ``suite/templates`` and the run-specific config
137+
overrides live in ``suite/configs``.
File renamed without changes.

suite/run_dev_suite.bash

Lines changed: 0 additions & 57 deletions
This file was deleted.

suite/run_e3sm_unified_suite.bash

Lines changed: 0 additions & 42 deletions
This file was deleted.

0 commit comments

Comments
 (0)