Skip to content

Commit e2c6b0c

Browse files
authored
Merge pull request #653 from nathanjmcdougall/dev/improve-pestpp-test-dx
Improve developer experience for running binaries from test suite
2 parents a19d4a1 + c3febb3 commit e2c6b0c

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ pyemu/.idea
6666

6767
autotest/*.bin
6868
autotest/*.dat
69+
autotest/pypestworker_*.txt
6970
autotest/temp
7071
autotest/.noseids
7172
autotest/temp*

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ Some notes that might be helpful for building your PR and testing:
111111
* As tests are run in parallel, where tests require read/write access to files it is safest to sandbox runs.
112112
Pytest has a built-in fixture `tmp_path` that can help with this.
113113
Setting optional argument `--basetemp` can be helpful for accessing the locally run files.
114-
## Running test locally
114+
## Running tests locally
115115
To be able to make clean use of pytests fixture decorators etc.,
116116
it is recommended to run local tests through `pytest` (rather than use from script execution and commenting in
117117
__main__ block). For e.g.:
@@ -127,6 +127,15 @@ with pytest-xdist, local runs can be parallelized:
127127
### Run a specific test [`this_test()`]:
128128
> pytest --basetemp=runner autotest/testfile_tests.py::this_test
129129
130+
### Test dependencies
131+
132+
Python dependencies for the test suite can be installed via `pip install -e .[optional, test]` (they are recorded in [`./pyproject.toml`](./pyproject.toml)). You should also include binaries for various integrations:
133+
134+
* [PEST++](https://github.com/usgs/pestpp/releases), e.g. `pestpp-ies`, `pestpp-mou`, etc. These can be automatically installed via the `get-pestpp` script included with pyEMU (see above).
135+
* [MODFLOW exectuables](https://github.com/MODFLOW-ORG/executables), i.e. `mf6`, `mfnwt`, `mfusg_gsi`. These can be automatically installed using flopy's [`get-modflow`](https://flopy.readthedocs.io/en/latest/md/get_modflow.html) command.
136+
137+
These should be placed in the relevant `./bin/win`, `./bin/linux`, or `./bin/mac` directories (depending on your OS).
138+
130139
### Using an IDE:
131140
Most modern, feature-rich editors and IDEs support launching pytest within debug or run consoles.
132141
Some might need "encouraging" to recognise the non-standard test tags used in this library.

0 commit comments

Comments
 (0)