Module Mlang.Test_interpreter

val check_test : Bir.program -> string -> bool -> bool -> Cli.value_sort -> Cli.round_ops -> float -> Bir_instrumentation.code_coverage_result

check_test test_file optimize code_coverage value_sort round_ops test_error_margin runs the BIR interpreter using float kind value_sort and rounding operations round_ops on a given test_file. A margin or error of test_error_margin is tolerated between the computed values and the expected values. optimize and code_coverage are flags that trigger respectively compiler optimizations and code coverage instrumentation for the interpreter run.

val check_all_tests : Bir.program -> string -> bool -> bool -> Cli.value_sort -> Cli.round_ops -> float -> (string -> bool) -> unit

Similar to check_test but tests a whole folder full of test files