package bisect_ppx
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=d314648f84d74cdb333455dd7c8446c3ac6601dd54dae6e2fb46d78ea29bda8e
md5=1e87162003525cd853631dae5b4aea66
doc/bisect_ppx.common/Bisect_common/index.html
Module Bisect_commonSource
This module provides type definitions, and functions used by the various parts of Bisect.
type point_definition = {offset : int;(*Point offset, relative to file beginning.
*)identifier : int;(*Point identifier, unique in file.
*)
}The type of point definitions, that is places of interest in the source code.
Utility functions
try_out_channel bin filename f opens an output channel for the file given at filename, and then runs f. When f returns or raises an exception, the channel is closed. If bin is true, the channel is opened in binary mode. Otherwise, it is opened in text mode.
I/O functions
Exception to be raised when a read file does not conform to the Bisect format. The parameter is the name of the incriminated file and the reason of the error.
write_runtime_data o writes the current runtime data to the output channel oc using the Bisect file format. The runtime data list encodes a map (through an association list) from files to arrays of integers (the value at index i being the number of times point i has been visited). The arrays are paired with point definition lists, giving the location of each point in the file.
Raises Sys_error if an i/o error occurs.
Same as write_runtime_data, but accumulates output in a string instead.
Returns a random filename, with the given prefix.
write_points pts converts the point definitions pts to a string. The string is a binary byte sequence; it is not meant to be legible.
read_runtime_data f reads the runtime data from file f.
Raises Sys_error if an i/o error occurs. May also raise Invalid_file, Unsupported_version, or Modified_file.
read_points s reads point definitions from the string s.
Clears accumulated coverage statistics.
val register_file :
string ->
point_count:int ->
point_definitions:string ->
[ `Staged of int -> unit ]register_file file ~point_count ~point_definitions indicates that the file file is part of the application that has been instrumented. point_definitions is a serialized Common.point_definition list giving the locations of all points in the file. The returned callback is used to increment visitation counts.