A bunch of work for refactoring Program re #276 #278
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.
Took on a first pass at the refactoring I suggested in #276 to see how
much work it was. This commit does it. The major things:
InvokeProgramsubclass ofProgram, for theinvokecommand.core_argsinInvokeProgram_parseProgramfor all argumentsthat are not in
core_argsProgramtests andInvokeProgramtestsinvoke_program.py_utilsfunction expect_inv to run integration tests with theInvokeProgramsubclass rather than theProgramclassAn important note here, even if this work is not the best direction to
take invoke is that there are a few places in program where core args
and task args are mixed together and expected. These cause problems for
developers creating their own "binaries" from
Program:Programthe methodload_collectionexpects args to haveargs.rootandargs.collectiondefined (whether or not they have avalue)
Programtheconfigproperty expectsargs['no-dedupe']to bedefined