package ppx_windtrap

  1. Overview
  2. Docs

Changelog

All notable changes to this project will be documented in this file.

  • Only document user-facing changes (features, bug fixes, performance improvements, API changes, etc.)
  • Add new entries at the top of the appropriate section (most recent first)

[0.1.0] - 2026-02-13

Windtrap is an all-in-one OCaml testing framework that unifies unit tests, property-based tests, snapshot tests, and expect tests under a single API. Instead of juggling multiple testing libraries, Windtrap gives you one cohesive package with a PPX for inline expect tests (ppx_windtrap).

  • Unit tests with combinators, tags, skip, brackets, and timeouts.
  • Property-based testing with configurable seeds and shrinking.
  • Snapshot testing with automatic file management and diffing.
  • Inline expect tests via ppx_windtrap with automatic correction.
  • CLI test runner with filtering, verbosity, and color support.
  • Test coverage reporting with bisect_ppx integration.

Acknowledgments

Windtrap builds on ideas and code from several OCaml projects:

  • Alcotest by Thomas Gazagnaire — test structure and runner design
  • Craig Ferguson's Alcotest PRs (#294, #247) — API design, subcomponent diffing, and Levenshtein distance (ISC)
  • QCheck2 by Simon Cruanes et al. — generator design and integrated shrinking (BSD 2-Clause)
  • ppx_expect and ppx_inline_test by Jane Street — expect test paradigm and dune integration
  • Bisect_ppx by Anton Bachin et al. — coverage instrumentation and runtime (MIT)