Skip to main content

Orchestrator

Struct Orchestrator 

Source
pub struct Orchestrator<S, D> { /* private fields */ }
Expand description

The main orchestrator that coordinates test execution.

The orchestrator is the top-level component that ties together:

It manages the full lifecycle of a test run: scheduling, parallel execution, retries, and result aggregation.

§Type Parameters

  • S: The sandbox type (implements Sandbox)
  • D: The test framework type

Implementations§

Source§

impl<S, D> Orchestrator<S, D>
where S: Sandbox, D: TestFramework,

Source

pub fn new(config: Config, framework: D, verbose: bool, tracer: Tracer) -> Self

Creates a new orchestrator with the given components.

§Arguments
  • config - Configuration loaded from TOML
  • framework - Test framework for running tests
  • verbose - Whether to show verbose output (streaming test output)
  • tracer - Performance tracer for emitting trace events
Source

pub async fn run_with_tests( &self, tests: &[TestRecord], sandbox_pool: SandboxPool<S>, ) -> Result<RunResult>

Runs the given tests and returns the aggregated results.

Takes already-discovered tests as input, allowing callers to inspect or filter tests before execution. Results are recorded into each TestRecord via interior mutability.

§Arguments
  • tests - The tests to run (typically from discover)
  • sandbox_pool - Pool of sandboxes to use
§Returns

RunResult containing summary statistics and individual results.

§Errors

Returns an error if critical infrastructure errors occur.

Auto Trait Implementations§

§

impl<S, D> Freeze for Orchestrator<S, D>
where D: Freeze,

§

impl<S, D> RefUnwindSafe for Orchestrator<S, D>

§

impl<S, D> Send for Orchestrator<S, D>
where D: Send, S: Send,

§

impl<S, D> Sync for Orchestrator<S, D>
where D: Sync, S: Sync,

§

impl<S, D> Unpin for Orchestrator<S, D>
where D: Unpin, S: Unpin,

§

impl<S, D> UnsafeUnpin for Orchestrator<S, D>
where D: UnsafeUnpin,

§

impl<S, D> UnwindSafe for Orchestrator<S, D>
where D: UnwindSafe, S: UnwindSafe,

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