Comments (4)
No I'm not working on it.
You don't need \n
unescaped linebreak works fine. (if you past your example into a Rust without editing you'll get two linebreaks, which is inconvenient)
from assert_cmd.
I'm in favor of
Format as binary, but line-by line. So weird characters are visible as escapes, but multi-line text output is readable
from assert_cmd.
Format as binary, but line-by line. So weird characters are visible as escapes, but multi-line text output is readable
Is the idea that a linebreak would be added after each \n
?
E.g., something like this:
stderr=```<9910 bytes total>" Blocking waiting for file lock on package cache\n Checking libc v0.2.138\n Checking cfg-if v1.0.0\n ....
Would instead look like this?
stderr=```<9910 bytes total>" Blocking waiting for file lock on package cache\n
Checking libc v0.2.138\n
Checking cfg-if v1.0.0\n
....
@tailhook Are you working on this, by chance?
from assert_cmd.
I have a prototype working, but admittedly the boundaries between stdout
, stderr
, etc. become hard to find when the number of lines is large.
I can see at least six options.
- Do nothing and live with the current "ugly" output.
- Break lines unconditionally and live with the boundaries being hard to find.
- Indent. However, like @tailhook aluded to above, this would cause a disparity between the actual text and the text displayed.
- Add a method to
Assert
to enable this option. However, this could make for a confusing API. E.g., something like the following could cause a user to thinkwith_linebreaks
affects the predicate instdout
:Command::new(...) .assert() .with_linebreaks() .stdout(...);
- Enable this functionality with a feature.
- Choose a reasonable limit (similar to
MIN_OVERFLOW
, etc.) and show only a subset of the lines when the total number of lines would exceed that limit.
Thoughts?
from assert_cmd.
Related Issues (20)
- Unable to test TTY behavior HOT 5
- Document how to use assert_cmd with rust-cross HOT 5
- How to handle permissions? HOT 8
- Improve the Debug implementation of Command HOT 1
- Assert#dump() HOT 2
- Some help with getting started HOT 4
- Running a binary in cargo workspace HOT 3
- .timeout() functionality does not work on payload processes with children HOT 3
- Dependency Dashboard
- Track performance metrics of child processes HOT 2
- how to trigger binary builds from 'cargo test' HOT 2
- Allow customising number of lines shown before <n lines omitted> HOT 6
- unknown feature `proc_macro_span_shrink` with Rust 1.74.0 HOT 3
- Documentation for subcommand HOT 1
- Reexport `predicates` in crate root HOT 1
- Add .try_assert() for a panic-free version of .assert() HOT 1
- Add input/output redirection support
- how to trigger debugging in vscode when use Command::cargo_bin("")? HOT 1
- Does not work in GitHub Actions HOT 2
- Allow serializing a constructed Command HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from assert_cmd.