OutputMatcher

Struct OutputMatcher 

Source
pub struct OutputMatcher<'a> { /* private fields */ }
Expand description

Match substrings in command output.

Due to the problems described in crate::env::ExecutionError::NonZero, the output of crate::env::Environment::output_of() doesn’t reliably catch the contents of stderr in the actual stderr variable. For Providers, this means that when searching for error strings in command output, both stdout and stderr must be checked for occurences of the pattern. This struct removes a lof of the resulting boilerplate code for first converting a Vec<u8> into something string-like, and then matching stdout and stderr against a pattern.

Implementations§

Source§

impl<'a> OutputMatcher<'a>

Source

pub fn new(output: &'a Output) -> Self

Create a new instance of OutputMatcher for the given command output.

Source

pub fn starts_with(&self, pat: &str) -> bool

Returns true if either stdout or stderr starts with pat.

Source

pub fn contains(&self, pat: &str) -> bool

Returns true if either stdout or stderr contains pat.

Source

pub fn ends_with(&self, pat: &str) -> bool

Returns true if either stdout or stderr ends with pat.

Source

pub fn exit_code(&self) -> Option<i32>

Returns the raw error code of the command output.

Source

pub fn is_empty(&self) -> bool

Returns true if both stdout and stderr are empty (except for whitespace)

Trait Implementations§

Source§

impl<'x> From<&'x Output> for OutputMatcher<'x>

Source§

fn from(value: &'x Output) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<'a> Freeze for OutputMatcher<'a>

§

impl<'a> RefUnwindSafe for OutputMatcher<'a>

§

impl<'a> Send for OutputMatcher<'a>

§

impl<'a> Sync for OutputMatcher<'a>

§

impl<'a> Unpin for OutputMatcher<'a>

§

impl<'a> UnwindSafe for OutputMatcher<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more