Improve output of multi-line stderr from local command #6282
+3
−2
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.
Background
We have a few local commands that run from the
Tiltfile
before starting resources. We use these commands to output kubernetes yaml that is passed to k8s_yaml. These commands have rather verbose stdout (thousands of lines of yaml), so it's important for us to run these withquiet = True
. When one of these commands fail, the stderr is also relatively verbose, it will contain multiple lines to help the user understand why it failed and where the problem occurred.Problem
We've noticed that it can be difficult to read these multi-line error messages because they are printed using
%q
. This escapes backslashes and replaces newlines with\n
. For example:Changes in this PR
This PR changes the format string to use
%v
for this output so that it reads better.Does this seem reasonable? Any concerns about where this wouldn't work well?