awslabs / awslabs/shuttle

Use of Shuttle for Rust async and #[tokio::main]

Open
#134 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.