TempDir

Struct TempDir 

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

Manages a temporary directory that can be used by tests. Supports creating files in the directory. Once the value is dropped the entire directory and its contents are deleted.

§Examples

use tux::temp_dir;

let dir = temp_dir();
dir.create_file("test.txt", "some content");
println!("{:?}", dir.path());
println!("{}", dir.path_str());

// this will delete the directory and its contents
drop(dir);

Implementations§

Source§

impl TempDir

Source

pub fn create_new() -> TempDir

Creates a new instance. For convenience, use the alias temp_dir.

Source

pub fn path(&self) -> &Path

Absolute path to the temporary directory.

Source

pub fn path_str(&self) -> &str

Absolute path to the temporary directory as a plain string.

Source

pub fn create_file<S: AsRef<[u8]>>(&self, name: &str, contents: S) -> PathBuf

Creates a file in the temporary directory. Returns the absolute path to the created file.

The file name can contain path components for intermediate directories, and those will be created as necessary.

§Errors
  • This will panic if attempting to create files outside the temporary directory.
  • This will panic if the file creation or writing fails.
Source

pub fn run_bin(&self, cmd: &str, args: &[&str]) -> String

Equivalent to run_bin but runs the binary with the temporary directory set as current working directory.

To get the entire process output, including the exit code and error output, use get_bin_output instead.

Source

pub fn get_bin_output(&self, cmd: &str, args: &[&str]) -> Output

Similar to run_bin but returns the entire process output. Use this to access the exit code and error output.

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> 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> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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

impl<T> ErasedDestructor for T
where T: 'static,