#[non_exhaustive]pub struct CliRunner { /* private fields */ }Expand description
Executes CLI commands.
Provides utilities for running a cli command to completion.
Implementations§
Source§impl CliRunner
impl CliRunner
Sourcepub fn try_default_runtime() -> Result<Self, Error>
pub fn try_default_runtime() -> Result<Self, Error>
Sourcepub const fn from_runtime(tokio_runtime: Runtime) -> Self
pub const fn from_runtime(tokio_runtime: Runtime) -> Self
Sourcepub fn block_on<F, T>(&self, fut: F) -> Twhere
F: Future<Output = T>,
pub fn block_on<F, T>(&self, fut: F) -> Twhere
F: Future<Output = T>,
Executes an async block on the runtime and blocks until completion.
Sourcepub fn run_command_until_exit<F, E>(
self,
command: impl FnOnce(CliContext) -> F,
) -> Result<(), E>
pub fn run_command_until_exit<F, E>( self, command: impl FnOnce(CliContext) -> F, ) -> Result<(), E>
Executes the given async command on the tokio runtime until the command future resolves or
until the process receives a SIGINT or SIGTERM signal.
Tasks spawned by the command via the [TaskExecutor] are shut down and an attempt is made
to drive their shutdown to completion after the command has finished.
Sourcepub fn run_until_ctrl_c<F, E>(self, fut: F) -> Result<(), E>
pub fn run_until_ctrl_c<F, E>(self, fut: F) -> Result<(), E>
Executes a regular future until completion or until external signal received.
Sourcepub fn run_blocking_until_ctrl_c<F, E>(self, fut: F) -> Result<(), E>
pub fn run_blocking_until_ctrl_c<F, E>(self, fut: F) -> Result<(), E>
Executes a regular future as a spawned blocking task until completion or until external signal received.
See Runtime::spawn_blocking .
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for CliRunner
impl RefUnwindSafe for CliRunner
impl Send for CliRunner
impl Sync for CliRunner
impl Unpin for CliRunner
impl UnwindSafe for CliRunner
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 80 bytes