class

Crowbar::Campaign::Runner

Inherits Reference < Object

Multi-target mutation fuzzing campaign orchestrator enforcing 60-second watchdog invariants, bounded execution timeouts, and automatic test case reduction.

Constructors

new(name : String = "Nightly Mutation Fuzzing", targets : Array(Target) = [] of Target, iterations_per_target : Int32 = 200, max_duration : Time::Span | Nil = nil, seed : UInt64 = 42_u64, auto_shrink : Bool = true, watchdog_interval : Time::Span = 10.seconds)
Source

Instance methods

add_target(target : Target) : Nil
Source
auto_shrink
Source
auto_shrink=(auto_shrink : Bool)
Source
iterations_per_target
Source
iterations_per_target=(iterations_per_target : Int32)
Source
max_duration
Source
max_duration=(max_duration : Time::Span | Nil)
Source
name
Source
name=(name : String)
Source
on_crash
Source
on_crash=(on_crash : Proc(CrashRecord, Nil) | Nil)
Source
on_heartbeat
Source
on_heartbeat=(on_heartbeat : Proc(Int32, Float64, Nil) | Nil)
Source
on_progress

Callback signatures

Source
on_progress=(on_progress : Proc(String, Int32, Int32, IterationResult, Nil) | Nil)

Callback signatures

Source
run

Executes the full fuzzing campaign across all targets

Source
seed
Source
seed=(seed : UInt64)
Source
targets
Source
targets=(targets : Array(Target))
Source
watchdog_interval
Source
watchdog_interval=(watchdog_interval : Time::Span)
Source