Use of Shuttle for Rust async and #[tokio::main]
- Dominant language
- Rust
- Stars
- 1.1k
- Forks
- 59
- Avg merge
- 4d 2h
- Merged PRs (30d)
- 15
Description
Hi, I am very interested in what Shuttle brings to the table for testing.
As far as I can tell it is mostly designed for Rust sync code without `#[tokio::main]` main setups.
But I am a bit confused by the presences of the `shuttle::future` module.
I am guessing it's really for sync programs which are invoking a little bit of async code?
It seems like if Shuttle was intended for testing mostly `async` programs, there would
be replacement implementations for stuff like `tokio::sync::Mutex` (An asynchronous Mutex-like type).
Anyway I'd like to get some feedback about the suitability of Shuttle for testing mostly `async` functions and code.
Thank you. And thank you for creating Shuttle.
Contributor guide
Research direction
Start by reading the shuttle::future module and the documented handling of Rust programs using #[tokio::main]. Compare that scope with the issue's examples involving tokio::sync::Mutex and async functions; the work would need a decided, documented approach for testing mostly async code.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100