pub async fn with_timeout<F, T>(duration: Duration, f: F) -> Result<T, Elapsed>where F: Future<Output = T>,
Run an async test with timeout