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
Large code-reorganization of everything runner-related #6008
Conversation
This is the core exception type used, and it is only raised by the runner (except for test code). Reimport to its previous place to avoid breakage.
Not needed elsewhere, but re-import to avoid breakage.
The non-runner execution (BatchedCommand) is put back in its original place, where it was before this RF.
These (alone) give ``` Name Stmts Miss Cover Missing ---------------------------------------------------------------- datalad/runner/__init__.py 4 0 100% datalad/runner/coreprotocols.py 19 2 89% 53-54 datalad/runner/exception.py 38 6 84% 56, 59-63, 67, 70 datalad/runner/gitrunner.py 72 13 82% 51-55, 68, 87, 94-96, 186, 197-198 datalad/runner/nonasyncrunner.py 96 1 99% 111 datalad/runner/protocol.py 57 3 95% 74, 89-93 datalad/runner/runner.py 36 0 100% datalad/runner/utils.py 3 0 100% ---------------------------------------------------------------- TOTAL 325 25 92% ---------------------------------------------------------------------- Ran 21 tests in 9.602s ```
Codecov Report
@@ Coverage Diff @@
## maint #6008 +/- ##
==========================================
- Coverage 90.28% 88.48% -1.80%
==========================================
Files 308 312 +4
Lines 42103 42131 +28
==========================================
- Hits 38012 37281 -731
- Misses 4091 4850 +759
Continue to review full report at Codecov.
|
Use relative imports for runner components using the symbols from datalad.runner Split off cmd.py test code into a separate module.
crawler failure is same old datalad/datalad-crawler#104 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't think I can meaningfully double check the whole diff, but I like the aim/approach.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good IMO. Nice cleanup of dependencies and better separation of sub-systems
Thanks for the feedback, will merge now. |
Basically, this re-organizes the code to establish
datalad.runner
as a self-contained subpackage that include all runner-related functionality, and no other functionality. Legacy imports are put in place to minimize likelihood of API breakage.CommandError
with the runner code, as they are tightly linkedThis is proposed against
maint
to avoid carrying a large diff for the full 0.16 release cycle. it should cause no breakage.