Skip to main content

Scenario

Struct Scenario 

Source
pub struct Scenario<'a> {
    pub interner: &'a Interner,
    pub types: &'a TypeRegistry,
    pub policies: &'a PolicyRegistry,
    pub arranged: Arranged<'a>,
    pub world: World,
}
Expand description

A program and a test body to run against it, arranged (arrange).

Fields§

§interner: &'a Interner§types: &'a TypeRegistry§policies: &'a PolicyRegistry§arranged: Arranged<'a>§world: World

Implementations§

Source§

impl<'a> Scenario<'a>

Source

pub fn new( interner: &'a Interner, types: &'a TypeRegistry, policies: &'a PolicyRegistry, defs: &[Stmt<'a>], body: &[Stmt<'a>], world: World, ) -> Self

Source

pub fn reference_trace(&self) -> PageTrace

The reference: the lowered page on the tree-walker (Scenario::lowered_here_run), where a statement the page cannot carry is where the program stops.

Source

pub fn lowered_here_trace(&self) -> TierRun

The run on the lowered page, on the tree-walker that runs the test: ONE interpreter runs the program as the page’s main — its lowered prelude and definitions — and then the arranged body, one step at a time, every driving statement carried out on the page by the driver every lowered tier shares, with that same interpreter as its engine. The page is read after each step’s statements, where Scenario::step_end ends it — the boundaries the reference trace runs to — in a single run.

Source

pub fn lowered_here_run(&self) -> HereRun

The run on the lowered page on the tree-walker, once: its trace and, when it stopped on a statement the page cannot carry, that statement and why.

Source

pub fn lowered_vm_trace(&self) -> TierRun

The run on the lowered page, on the bytecode VM.

Source

pub fn remote_trace( &self, launcher: &dyn RemotePageLauncher, source: &str, ) -> TierRun

The run on a page another process executes, source being the program it ships.

The page is launched already arrived (Arrival): at its own route, with the scene’s answers in place, its main run — which performs a ## Page’s own mount, exactly as a browser loading it does. The walk then starts after the arrival, and a Mount the test writes at a statement of its own is carried out at that statement, through the entry the arrival asked the page’s host to expose.

Source§

impl<'a> Scenario<'a>

Source

pub fn run( &self, kind: PageTierKind, launcher: Option<&dyn RemotePageLauncher>, source: &str, ) -> TierRun

The run on kind. The reference tier’s run is Scenario::reference_trace.

Auto Trait Implementations§

§

impl<'a> Freeze for Scenario<'a>

§

impl<'a> RefUnwindSafe for Scenario<'a>

§

impl<'a> Send for Scenario<'a>

§

impl<'a> Sync for Scenario<'a>

§

impl<'a> Unpin for Scenario<'a>

§

impl<'a> UnsafeUnpin for Scenario<'a>

§

impl<'a> UnwindSafe for Scenario<'a>

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
§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
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> 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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,