Shrinking violations #
When Bombadil finds a violation, the trace leading up to it
is often long and full of actions that have nothing to do with
the bug. The shrink command takes such a trace and
searches for a shorter one that still violates the same
property.
Shrinking is experimental. The command-line options and output format may change between releases.
bombadil browser shrink --headless --trace my-test https://example.comIt’s important that the shrink invocation uses the same
options as the original test or fuzz
invocation, just as when reproducing
violations.
Shrinking begins with a calibration phase that tries to
assess the flakiness of reproducing the violation. Calibration
can be controlled with --calibration-runs and
--confirmation-runs-max if needed. At the end of
shrinking, you get a new trace in the output directory,
configured with --output-path and
--output-path-overwrite, that can be reproduced
or inspected.