Comments (11)
Thats a really great idea!
For stdin, its just a matter of coming up with the name.
For stdout, stderr, the challenge is we won't know if its intended to be binary or str
(this matters for the new feature I'm writing). I wonder if its best to l leave it as stdout(predicte::path::eq_file(path))
from assert_cmd.
Also, something else for us to consider with stdin
is we might want to support chunking in case someone is testing a really large file.
from assert_cmd.
Thanks @epage, I didn't notice the usage of stdout(predicte::path::eq_file(path))
actually. I think it's OK for me to use predicates.
In terms of the name, how about with_fixture_stdin
?
from assert_cmd.
Thanks @epage, I didn't notice the usage of stdout(predicte::path::eq_file(path)) actually. I think it's OK for me to use predicates.
I've gone ahead and removed stdout/stderr from this to make our narrowed focus clear.
In terms of the name, how about with_fixture_stdin?
imo whether you use a file or in-memory string, both would be considered fixtures, right?
So one option is with_stdin_file
? Another options is with_stdin().from_bytes("Hello World")
/ with_stdin().from_path("./hello.txt")
.
from assert_cmd.
I've gone ahead and removed stdout/stderr from this to make our narrowed focus clear.
Yes, you are right.
I think with_stdin().from_bytes("Hello World") / with_stdin().from_path("./hello.txt")
are more readable.
from assert_cmd.
Publishing v0.6.0 with this fix. Sorry for the delay.
from assert_cmd.
I guess I cannot use .stdout(predicate::path::eq_file(Path::new("filename"))
right now?
I'm a little confused about FileContentPredicate
, BinaryFilePredicate
, and StrFilePredicate
. Anyway, can you give me an example of how to compare content in a fixture file with the stdout (in binary or in str). Thank you so much!
from assert_cmd.
Yeah, I realized that on closer inspection and opened assert-rs/predicates-rs#56
My plan has been to finish assert-rs/predicates-rs#7 first because I've started it and it is more invasive but it is larger and controversial, so it might take longer to get in.
from assert_cmd.
I see. Thank you @epage. Can you ping me if it's ready to use?
from assert_cmd.
Just to check, is that another blocking issue for you?
I see. Thank you @epage. Can you ping me if it's ready to use?
Alternatively, you could subscribe to the issue?
from assert_cmd.
Yes, my expectation is to pipe in fixture files and compare stdout with fixture files. I have subscribed these issues you mentioned. Thanks.
from assert_cmd.
Related Issues (20)
- Question regarding "flaky" commands HOT 8
- Cannot find binary during cargo test in CI HOT 2
- Add track_callers to asserts
- stdout/stderr for text processes is ugly HOT 4
- 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 5
- 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
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.