feat: nargo test -q
(or nargo test --format terse
)
#6776
+416
−131
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.
Descriptio
Made on top of #6728
Problem
Towards #6733
Summary
Eventually we'll have
nargo test --format json
, which is what #6733. As a first step I wanted to introduce theformat
flag and, to try that abstraction in code I introduced a terse formatter similar to Rust.On failure we don't immediately print the error. Instead, it's printed at the end (like in Rust). I can imagine this could be used in CI to reduce the output verboseness, because I guess all that matters in CI is seeing which tests failed. NOTE: I already added this
-q
flag to our external checks, you can see how it looks, I think it's a bit better as it's less noisy.Like in Rust, there are two ways to trigger this terse behavior:
-q
(or--quiet
) or--format terse
. We could just keep--format terse
but I think-q
is convenient (andformat
is more general as it will soon supportjson
).Here's the output when all tests pass:
Additional Context
nargo test
insidenoir_stdlib
for a while now so we can probably move those to a CI test matrix (in this PR I tried to reuse the code fromnargo_cli
but I couldn't becausenargo_cli
is a binary and we can't use that binary as a dependency in test integrations).Documentation
Check one:
PR Checklist
cargo fmt
on default settings.