-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactoring, organization & packaging updates #9
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* refactor/reorganize/rename modules * remove common_regression and other utilities no longer needed (functionality matched by flopy get-modflow and modflow6 testing updates) * update setup.cfg with extra dependency groups and supported python/OS versions * add pytest.ini to project root * use pytest --import-mode=importlib in pyproject.toml (as recommended in link above) * add test CI job * stub tests
wpbonelli
changed the title
Organization & packaging updates
Refactoring, organization & packaging updates
Oct 27, 2022
…imulation -> TestConfig (disambiguate from flopy Simulation), inject targets in TestConfig ctor
…ke8 and pylint in CI lint step
…make), fix path in pull_request_prepare.py
wpbonelli
force-pushed
the
develop
branch
3 times, most recently
from
November 1, 2022 19:25
5f07148
to
a9c2c02
Compare
* add DEVELOPER.md with basic install/testing info * add conftest.py with temp dir and misc fixtures * add tests for fixtures in conftest.py * add test for meson_build function * add PyGithub as test dep to setup.cfg * checkout modflow6 before testing in CI
wpbonelli
force-pushed
the
develop
branch
4 times, most recently
from
November 2, 2022 13:53
425de14
to
a20633d
Compare
* expand README and DEVELOPER.md * rename/reorganize files * move grid/dis-related utilities to flopy * move common test fixtures here from flopy * move test fixture tests here from flopy
* add tests for dynamically generated example/testmodel fixtures * move test markers to separate module * checkout testmodel and example repos in CI
…, add REPOS_PATH env var to test step
wpbonelli
force-pushed
the
develop
branch
2 times, most recently
from
November 4, 2022 15:03
6cf6947
to
fbb5e71
Compare
wpbonelli
force-pushed
the
develop
branch
4 times, most recently
from
November 6, 2022 16:12
fa92cbc
to
4ea0134
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WIP pulling in a few commits from @mjreno's fork plus some updates, dependency pruning, refactoring and expanded documentation. This changeset allows devtools to be consumed by Modflow6, FloPy, or other repositories for shared
pytest
fixtures, CLI options and utilities. The FloPy dependency is removed. Some utils that were previously here but seem potentially in scope for FloPy are tentatively moved there (e.g. head/budget comparison, grid utils). This package now depends only onnumpy
andpytest
.setup.cfg
with supported Python/OS versionspytest.ini
--import-mode=importlib
inpyproject.toml
(recommended by pytest)scripts
folder andpull_request_prepare.py
mftest_context.py
->context.py
meson_build
(MODFLOW 6 tooling can import the equivalent function frompymake
if needed)__init__.py
(just follow_*
naming convention for internals)common_regression.py
functions can be matched by--package
and--model
options withgenerate_tests
hookusgsprograms.txt/py
are currently used by the modflow6 test framework to retrieve the URL of the latest release, but this can now be handled by FloPy'sget-modflow
pymake
, where they are needed to build modflow-related programsurllib
, remove externalrequests
dependencypytest_plugins = ["modflow_devtools.fixtures"]
inconftest.py
)--keep
and--keep-failed
)pytest_generate_tests
hook for loading testmodel & example repos--smoke
(short form-S
) for smoke testingslow
,regression
orexample
conftest.py
downstreampytest-cases
README.md
DEVELOPER.md
main