module Bisect_common:sig..end
This module provides type definitions, and functions used by the various parts of Bisect.
type point_definition = {
|
offset : |
(* | Point offset, relative to file beginning. | *) |
|
identifier : |
(* | Point identifier, unique in file. | *) |
}
The type of point definitions, that is places of interest in the source code.
val try_finally : 'a -> ('a -> 'b) -> ('a -> unit) -> 'btry_finally x f h implements the try/finally logic.
f is the body of the try clause, while h is the finally handler.
Errors raised by handler are silently ignored.
val try_in_channel : bool -> string -> (Stdlib.in_channel -> 'a) -> 'atry_in_channel bin filename f is equivalent to try_finally x f h
where:
x is an input channel for file filename (opened in binary mode
iff bin is true);h just closes the input channel.
Raises an exception if any error occurs.val try_out_channel : bool -> string -> (Stdlib.out_channel -> 'a) -> 'atry_out_channel bin filename f is equivalent to try_finally x f h
where:
x is an output channel for file filename (opened in binary mode
iff bin is true);h just closes the output channel.
Raises an exception if any error occurs.exception Invalid_file of string * string
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.
val write_runtime_data : Stdlib.out_channel -> unitwrite_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.
val runtime_data_to_string : unit -> string optionSame as Bisect_common.write_runtime_data, but accumulates output in a string
instead.
val random_filename : string -> stringReturns a random filename, with the given prefix.
val write_points : point_definition list -> stringwrite_points pts converts the point definitions pts to a string. The
string is a binary byte sequence; it is not meant to be legible.
val read_runtime_data : string -> (string * (int array * string)) listread_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.
val read_points : string -> point_definition listread_points s reads point definitions from the string s.
val table : (string, int array * string) Stdlib.Hashtbl.t Stdlib.Lazy.tCoverage statistics table used by the runtime.
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.
typeoptions =(Stdlib.Arg.key * Stdlib.Arg.spec * Stdlib.Arg.doc) list
val deprecated : string -> string -> options -> optionsAppends a specification for a deprecated command-line argument.