[package]
name = "testkit-async"
version = "0.0.1"
edition = "2021"
rust-version = "1.70"
authors = ["Ibrahim Cesar <email@ibrahimcesar.com>"]
license = "MIT"
description = "Practical testing tools for async Rust - time control, deterministic execution, and failure injection"
homepage = "https://github.com/ibrahimcesar/testkit-async"
repository = "https://github.com/ibrahimcesar/testkit-async"
documentation = "https://docs.rs/testkit-async"
keywords = ["async", "testing", "mock", "test", "tokio"]
categories = ["asynchronous", "development-tools::testing"]
readme = "README.md"
[lib]
name = "testkit_async"
path = "src/lib.rs"
[dependencies]
futures = "0.3"
pin-project = "1.1"
thiserror = "1.0"
parking_lot = "0.12"
tokio = { version = "1.35", features = [
"time",
"rt",
"macros",
], optional = true }
async-std = { version = "1.12", optional = true }
[dev-dependencies]
tokio = { version = "1.35", features = ["full"] }
async-std = { version = "1.12", features = ["attributes"] }
[features]
default = ["tokio"]
tokio = ["dep:tokio"]
async-std = ["dep:async-std"]
full = ["tokio", "async-std"]
[profile.dev]
opt-level = 0
[profile.test]
opt-level = 1
[[example]]
name = "time_control"
path = "examples/time_control.rs"
[[example]]
name = "failure_injection"
path = "examples/failure_injection.rs"
[[example]]
name = "sync_points"
path = "examples/sync_points.rs"