Skip to main content

ScenarioSpec

Struct ScenarioSpec 

Source
pub struct ScenarioSpec {
    pub file: Arc<str>,
    pub name: Arc<str>,
    pub line: usize,
    pub file_root: Option<PathBuf>,
    pub prepare: PrepareFn,
    pub exclusive: bool,
}
Expand description

Everything a scenario needs at dispatch time. Built by the CLI edge from owned/Arced data so scenario threads are 'static (abandonable).

Fields§

§file: Arc<str>

Feature file path.

§name: Arc<str>

Scenario name (post-expansion).

§line: usize

1-based header line.

§file_root: Option<PathBuf>

Root for file bodies referenced by the scenario’s entries (the feature file’s directory — hurl context_dir confinement, TECH-SPEC §13).

§prepare: PrepareFn

Lower + emit against the live World snapshot (pure; runs in-thread).

§exclusive: bool

Run this scenario with the pool to itself (ADR-0007 scheduling).

Not “one of these at a time” but “nothing else at all”: the motivating case is a scenario asserting absolute positions (items[0]) against a database no concurrent scenario may write to. A per-group concurrency limit — the other half of the shape cargo-nextest settled on — bounds members against each other and leaves the rest of the pool running, which is the weaker guarantee and not the one that was missing.

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.