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>
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§
Source§impl<'a> Debug for OutputMatcher<'a>
impl<'a> Debug for OutputMatcher<'a>
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> UnsafeUnpin 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