aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/tests/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/tests/mod.rs')
-rw-r--r--src/runtime/tests/mod.rs35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/runtime/tests/mod.rs b/src/runtime/tests/mod.rs
index ebb48de..be36d6f 100644
--- a/src/runtime/tests/mod.rs
+++ b/src/runtime/tests/mod.rs
@@ -1,14 +1,49 @@
+use self::unowned_wrapper::unowned;
+
+mod unowned_wrapper {
+ use crate::runtime::blocking::NoopSchedule;
+ use crate::runtime::task::{JoinHandle, Notified};
+
+ #[cfg(all(tokio_unstable, feature = "tracing"))]
+ pub(crate) fn unowned<T>(task: T) -> (Notified<NoopSchedule>, JoinHandle<T::Output>)
+ where
+ T: std::future::Future + Send + 'static,
+ T::Output: Send + 'static,
+ {
+ use tracing::Instrument;
+ let span = tracing::trace_span!("test_span");
+ let task = task.instrument(span);
+ let (task, handle) = crate::runtime::task::unowned(task, NoopSchedule);
+ (task.into_notified(), handle)
+ }
+
+ #[cfg(not(all(tokio_unstable, feature = "tracing")))]
+ pub(crate) fn unowned<T>(task: T) -> (Notified<NoopSchedule>, JoinHandle<T::Output>)
+ where
+ T: std::future::Future + Send + 'static,
+ T::Output: Send + 'static,
+ {
+ let (task, handle) = crate::runtime::task::unowned(task, NoopSchedule);
+ (task.into_notified(), handle)
+ }
+}
+
cfg_loom! {
mod loom_basic_scheduler;
+ mod loom_local;
mod loom_blocking;
mod loom_oneshot;
mod loom_pool;
mod loom_queue;
+ mod loom_shutdown_join;
}
cfg_not_loom! {
mod queue;
+ #[cfg(not(miri))]
+ mod task_combinations;
+
#[cfg(miri)]
mod task;
}