package ppx_inline_test

  1. Overview
  2. Docs
Syntax extension for writing in-line tests in ocaml code

Install

Dune Dependency

Authors

Maintainers

Sources

v0.17.0.tar.gz
sha256=b71e4f01ab8aed418a3358688241a94b6d16d723deec7caaf5e4e917c2a76d2c

doc/CHANGES.html

Release v0.17.0

  • Added Ppx_inline_test_lib.init, which re-configures the test runner with a new set of arguments, rather than those from the command line.

Release v0.16.0

  • Renamed Ppx_inline_test_runner.Runtime to Ppx_inline_test_runner
  • Renamed Ppx_inline_test_runner.Runtime.am_running_inline_test{,_env_var} to Ppx_inline_test_runner.am_running{,_env_var}
  • New tag let%test _ [@tags "disabled"] for tests that shouldn't run by default
  • Make the README state how to pass flags to the inline tests runner in jbuild/dune files
  • A bit of progress towards supporting running tests in parallel with dune (from @hhugo)

Old pre-v0.15 changelogs (very likely stale and incomplete)

v0.13.1

  • Honor the inline_tests Dune variable so that inline tests are dropped in release builds

v0.11

  • Depend on ppxlib instead of (now deprecated) ppx_core, ppx_driver and ppx_metaquot.

113.33.03

  • Changed the runtime API to make it easier to build test runners: replace the Runtime.Test_result.record system by Runtime.add_evaluator
  • Tell the build system via output metadata whether a file contains tests or not

113.33.00

  • Allow to configure hooks for inline tests by redefining a module Inline_test_config.

113.24.00

  • Support literate-style .ml files that allow ocaml code interleaved with expected output annotations. Compiling with the ppx_expect_test generates a program that outputs the original source file, but with the actual output substituted for the expected-output annotations. Then we can pat-diff the original file against the output file.

    Examples in the test/ and example/ folders.

  • Expect-tests can now be written inline in libraries by using let%expect_test.

    The runtime library has been split into two components: the test runner, which collects the output of the test body, and registers enough information to construct the *.ml.corrected file from the input; and the test evaluator, which compares the test output against the expected output and generates the output files.

  • Update to follow Ppx_core evolution.
  • When an exception is raised inside a let%test_module, display the position and name of the TEST_MODULE, same as for the let%test.
  • Mark attributes as handled inside explicitly dropped pieces of code.

    So that a @@deriving inside a let%test dropped by ppx_inline_test_drop doesn't cause a failure.

OCaml

Innovation. Community. Security.