- Renamed
Ppx_inline_test_runner.Runtime
toPpx_inline_test_runner
- Renamed
Ppx_inline_test_runner.Runtime.am_running_inline_test{,_env_var}
toPpx_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)
- Honor the
inline_tests
Dune variable so that inline tests are dropped in release builds
- Depend on ppxlib instead of (now deprecated) ppx_core, ppx_driver and ppx_metaquot.
-
Changed the runtime API to make it easier to build test runners: replace the
Runtime.Test_result.record
system byRuntime.add_evaluator
-
Tell the build system via output metadata whether a file contains tests or not
- Allow to configure hooks for inline tests by redefining a module Inline_test_config.
-
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 thelet%test
. -
Mark attributes as handled inside explicitly dropped pieces of code.
So that a
@@deriving
inside a let%test dropped byppx_inline_test_drop
doesn't cause a failure.