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 Provider
s, 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>
impl<'a> OutputMatcher<'a>
Sourcepub fn new(output: &'a Output) -> Self
pub fn new(output: &'a Output) -> Self
Create a new instance of OutputMatcher
for the given command output.
Sourcepub fn starts_with(&self, pat: &str) -> bool
pub fn starts_with(&self, pat: &str) -> bool
Returns true if either stdout or stderr starts with pat
.
Sourcepub fn contains(&self, pat: &str) -> bool
pub fn contains(&self, pat: &str) -> bool
Returns true if either stdout or stderr contains pat
.
Trait Implementations§
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> 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
Mutably borrows from an owned value. Read more
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>
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 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>
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