Skip to main content

CommandOutput

Struct CommandOutput 

Source
pub struct CommandOutput { /* private fields */ }
Expand description

Captured output and status information from a finished command.

CommandOutput always stores raw stdout and stderr bytes. By default, Self::stdout and Self::stderr validate those bytes as UTF-8 and return str::Utf8Error for invalid output. If the command was run with CommandRunner::lossy_output enabled, the runner also stores lossy UTF-8 text where invalid byte sequences are replaced with the Unicode replacement character. This makes the text accessors return Ok(&str) while preserving the original bytes through Self::stdout_bytes and Self::stderr_bytes.

§Author

Haixing Hu

Implementations§

Source§

impl CommandOutput

Source

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

Returns the command exit code.

§Returns

Some(code) when the platform reports a numeric process exit code, or None when the process ended in a way that does not map to a numeric code.

Source

pub fn stdout(&self) -> Result<&str, Utf8Error>

Returns captured standard output as UTF-8 text.

§Returns

Ok(&str) when stdout is valid UTF-8. If the command runner used lossy output mode, this returns the stored lossy text even when the original bytes were not valid UTF-8.

§Errors

Returns str::Utf8Error when stdout contains invalid UTF-8 and the command runner did not enable lossy output mode.

Source

pub fn stderr(&self) -> Result<&str, Utf8Error>

Returns captured standard error as UTF-8 text.

§Returns

Ok(&str) when stderr is valid UTF-8. If the command runner used lossy output mode, this returns the stored lossy text even when the original bytes were not valid UTF-8.

§Errors

Returns str::Utf8Error when stderr contains invalid UTF-8 and the command runner did not enable lossy output mode.

Source

pub const fn elapsed(&self) -> Duration

Returns the observed command duration.

§Returns

Duration from process spawn to observed termination.

Source

pub fn stdout_bytes(&self) -> &[u8]

Returns the captured standard output bytes.

§Returns

A borrowed slice containing stdout exactly as emitted by the process.

Source

pub fn stderr_bytes(&self) -> &[u8]

Returns the captured standard error bytes.

§Returns

A borrowed slice containing stderr exactly as emitted by the process.

Trait Implementations§

Source§

impl Clone for CommandOutput

Source§

fn clone(&self) -> CommandOutput

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CommandOutput

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for CommandOutput

Source§

fn eq(&self, other: &CommandOutput) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for CommandOutput

Source§

impl StructuralPartialEq for CommandOutput

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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.