Skip to main content

Process

Struct Process 

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

process: the arguments a run was given, its exit status, and the executables the host allows it to start.

Implementations§

Source§

impl Process

Source

pub fn real(args: Vec<String>, allowed: Vec<PathBuf>) -> Self

The real process.

args are the arguments the host chose to pass on, not the host’s own command line: a run sees what it was given and nothing else. allowed is the list of executables run may start, each an absolute path. An empty list is a process that can read its arguments and end itself but cannot start anything, which is the only safe default a host that knows nothing about the program can offer.

Source

pub fn recorded( args: Vec<String>, outputs: BTreeMap<String, String>, log: ProcessLog, ) -> Self

A fake process that records what it was asked to do, for tests.

outputs maps an executable path to the standard output run should answer with, and is also the allow-list: a program the fake has no answer for is refused exactly as the real host refuses one the host did not name.

Trait Implementations§

Source§

impl HostApi for Process

Source§

fn module_schema(&self) -> ModuleSchema

The whole of what this module declares about itself: the name Cove source uses, the capability a host must grant for it, the operations it exposes, the types it declares, and the kinds of resource it can open. Read more
Source§

fn call(&self, op: &str, args: Vec<Value>) -> Result<Value, RuntimeError>

Invokes one operation.
Source§

fn call_with( &self, op: &str, args: Vec<Value>, back: &mut dyn Reentry, ) -> Result<Value, RuntimeError>

Invokes one operation. Read more
Source§

fn call_resource( &self, handle: &ResourceHandle, op: &str, args: Vec<Value>, back: &mut dyn Reentry, ) -> Result<Value, RuntimeError>

Invokes one operation on a handle this module issued. Read more

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, 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, 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.