Add consistency to output handling in runtime code execution#583
Add consistency to output handling in runtime code execution#583rjanja wants to merge 1 commit intobitwalker:masterfrom
Conversation
10e12b6 to
7a6ae1e
Compare
|
I've been able to get the tests running locally, and the four failures reported by AppVeyor are passing for me. Not sure about those other skipped tests ("cannot run clustered test cases if distribution is not active"). I've tried kicking the build off a few times and it's the same failures every time. |
|
I think is probably reasonable - though I think my preference would probably be to always require explicit I/O for |
|
The distinction makes a little more sense now that I understand the reasoning behind it. I think I'd still favor consistent I/O handling, or a command line flag to enable (or disable, if enabled was the default) the printing of return value. One point of confusion (for me) was that As for my use case, I'm adding a couple of helpers to Bootleg for invoking these release tasks with arguments. It's a WIP but the syntax is currently:
Would it be overkill to have as Distillery tasks:
Where I'm happy to move this discussion to a new issue, and pare this PR back to just some minor documentation improvements. Let me know what you think. Thanks! |
Summary of changes
The node execution function
eval/2inMix.Releases.Runtime.Controlhas been modified to be consistent withrpc/2with regard to how it handles the result.In
rpc, the result is always printed to stdout. But inevalnothing is printed.Current behavior
Explicit IO
Without explicit IO
I expected "foobar" to be printed.
I suppose the inconsistency could instead be fixed by never printing the result, but that would make these commands less useful I think. If silent operation is desired, perhaps that could be added later as an optional flag.
Proposed behavior
Explicit IO
Without explicit IO
Checklist
Also:
Licensing/Copyright
I certify that I own, and have sufficient rights to contribute, all source code and
related material intended to be compiled or integrated with the source code for Distillery
(the "Contribution"). My Contribution is licensed under the MIT License.