ravel
Deterministic simulation testing for C++. Seed a bug, replay it exact.
Loading...
Searching...
No Matches
Public Attributes | List of all members
ravel::ShrinkOptions Struct Reference

How shrink() searches. More...

#include <shrink.hpp>

Collaboration diagram for ravel::ShrinkOptions:
Collaboration graph
[legend]

Public Attributes

std::uint64_t max_attempts = 20'000
 Replays allowed while shrinking.
 
unsigned threads = 0
 Threads that replay candidates at the same time; 0 means one per hardware thread.
 
SimulationOptions simulation
 Applied to every replay.
 

Detailed Description

How shrink() searches.

Member Data Documentation

◆ max_attempts

std::uint64_t ravel::ShrinkOptions::max_attempts = 20'000

Replays allowed while shrinking.

Shrinking always stops by itself, but on a long failing run it can take many replays to get there.

◆ simulation

SimulationOptions ravel::ShrinkOptions::simulation

Applied to every replay.

If trace_dir is set, the original failing run and the minimal one each write a trace (the latter as .replay), and the minimal choice list is saved there as ravel-seed-<seed>.choices.

◆ threads

unsigned ravel::ShrinkOptions::threads = 0

Threads that replay candidates at the same time; 0 means one per hardware thread.

The result does not depend on this number, only the time it takes. As with run_seeds, the setup then runs on several threads at once, so it must not touch shared mutable state.


The documentation for this struct was generated from the following file: