package ppx_expect

  1. Overview
  2. Docs

Parameters

Signature

val read_test_output_no_backtrace_check : Base.unit -> Base.string

Read test output, passing it through the configured sanitization function but not checking for backtraces. Equivalent to [%expect.output].

Consuming read.

val run_test : test_id:Ppx_expect_runtime__.Types.Expectation_id.t -> Base.unit

Given a test id:

  • Look up the Test_node.t with that id
  • Perform a consuming read of current test output, performing sanitization and checking for backtraces
  • Compare the consumed output with the output expected by the associated Test_node.t
  • Record the test outcome in the associated Test_node.t
  • If the test failed, set the current Test_block's fail ref to true (so that the test harness will be informed of a failure at the conclusion of this let%expect_test block)
val run_suite : filename_rel_to_project_root:Base.string -> line_number:Base.int -> location:Ppx_expect_runtime__.Types.Compact_loc.t -> trailing_loc:Ppx_expect_runtime__.Types.Compact_loc.t -> body_loc:Ppx_expect_runtime__.Types.Compact_loc.t -> formatting_flexibility: Ppx_expect_runtime__.Types.Expect_node_formatting.Flexibility.t -> expected_exn: (Ppx_expect_runtime__.Output.Payload.t * Ppx_expect_runtime__.Types.Compact_loc.t) Base.option -> trailing_test_id:Ppx_expect_runtime__.Types.Expectation_id.t -> exn_test_id:Ppx_expect_runtime__.Types.Expectation_id.t -> description:Base.string Base.option -> tags:Base.string Base.list -> inline_test_config:Ppx_inline_test_lib.config -> expectations: (Ppx_expect_runtime__.Types.Expectation_id.t, Test_node.t) Base.List.Assoc.t -> (Base.unit -> Base.unit C.IO.t) -> Base.unit

Execute a single let%expect_test block through Ppx_inline_test_lib.test.

  • Assert that the test is defined in the currently-executing file.
  • Generate two implicit Test_node.ts representing trailing output (expectation that there is none) and uncaught exception (expectation that there is none if expected_exn = None, or else that the test raises with expected_exn).
  • Add the explicit Test_node.ts in expectations (those actually present in the test body), as well as the two implicit Test_node.ts described above, into the global table of Test_node.ts.
  • Run the callback and the tests for trailing output and uncaught exceptions, accumulating the results of each reached "expectation" inside the corresponding Test_node.t.
  • After the callback finishes, if any of the expectations do not match, inform the inline testing harness that the test has "failed".
OCaml

Innovation. Community. Security.