Comments (4)
See discussion at assert-rs/assert_cli#67
from assert_cmd.
From previous thread
Looks like this will be pretty trivial
https://crates.io/crates/wait-timeout
Nevermind, it doesn't support getting the output and it doesn't look like it will in the foreseeable future
alexcrichton/wait-timeout#4
from assert_cmd.
For my use, I'm simply looping through all my currently-live commands and calling thread::sleep(10ms) before looping again. Not pretty but it works. I've found 10ms to be useful even on my slow-ish CI.
A better solution would use futures, but I'm not sure what futures are available to wait for process exit. Presumably, implementing those futures is assrt_cmd's job.
Note that I use a generic CmdCond
enum which can describe a timeout condition but also "when that other command has exited" or "when that file matches a predicate".
You can steal code from https://gist.github.com/vincentdephily/592546c41ff9713adff234e5535aa6d4
from assert_cmd.
@epage I created a crate that should help with this:
https://crates.io/crates/process_control
You can use Child::with_output_timeout
to get output from a process with a timeout.
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.