pub struct Builder {
    pub seed: u64,
    pub count: u64,
    pub jobs: u16,
    pub config: Config,
    pub time_limit: Option<Duration>,
    pub check: bool,
}
Available on madsim only.
Expand description

Builds Madsim Runtime with custom configuration values.

Fields

seed: u64

The random seed for test.

count: u64

The number of tests.

jobs: u16

The number of jobs to run simultaneously.

config: Config

The configuration.

time_limit: Option<Duration>

The time limit for the test.

check: bool

Enable determinism check.

Implementations

Create a new builder from the following environment variables:

  • MADSIM_TEST_SEED: Set the random seed for test.

    By default, the seed is set to the seconds since the Unix epoch.

  • MADSIM_TEST_NUM: Set the number of tests.

    The seed will increase by 1 for each test.

    By default, the number is 1.

  • MADSIM_TEST_JOBS: Set the number of jobs to run simultaneously.

    By default, the number of jobs is 1.

  • MADSIM_TEST_CONFIG: Set the config file path.

    By default, tests will use the default configuration.

  • MADSIM_TEST_TIME_LIMIT: Set the time limit for the test.

    The test will panic if time limit exceeded in the simulation.

    By default, there is no time limit.

  • MADSIM_TEST_CHECK_DETERMINISM: Enable determinism check.

    The test will be run at least twice with the same seed. If any non-determinism detected, it will panic as soon as possible.

    By default, it is disabled.

Run the future with configurations.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

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. Read more

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

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

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

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

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.