Module Ppx_expect_runtime.Make_test_block
Parameters
module C : Expect_test_config_types.SSignature
val read_test_output_no_backtrace_check : Base.unit -> Base.stringRead 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.unitGiven a test id:
- Look up the
Test_node.twith 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'sfailref totrue(so that the test harness will be informed of a failure at the conclusion of thislet%expect_testblock)
val run_test_without_commiting :
test_id:Ppx_expect_runtime_types.Expectation_id.t ->
Base.unitGiven a test id:
- Look up the
Test_node.twith 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
Unlike run_test, run_test_without_commiting does not automatically record the test outcome or set the fail ref. Instead, user code must call exactly one of For_external.Expectation.commit or For_external.Expectation.skip below to commit or ignore the test result.
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_types.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, Ppx_expect_runtime.Test_node.t)
Base.List.Assoc.t ->
(Base.unit -> Base.unit C.IO.t) ->
Base.unitExecute 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 ifexpected_exn = None, or else that the test raises withexpected_exn). - Add the explicit
Test_node.ts inexpectations(those actually present in the test body), as well as the two implicitTest_node.ts described above, into the global table ofTest_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".