package bisect_ppx
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
sha256=50ef640123a7e2961cdbb5a6e9bad8f408547c38d0d7f3d2c2d355280ef7e5cb
    
    
  md5=73cddd4025cff329b52b93bb663927f8
    
    
  doc/bisect_ppx.common/Bisect_common/index.html
Module Bisect_commonSource
This module provides type definitions and functions that are shared between more than one part of Bisect, namely:
- the instrumenter (PPX)
- the native runtime (Bisect.Runtimeinsrc/runtime/native/)
- the ReScript runtime (Bisect.Runtimeinsrc/runtime/bucklescript/)
- the reporter (bisect-ppx-report)
Types
Types representing accumulated visit counts. This data is written to bisect*.coverage files when an instrumented binary exits.
The two types in this section, instrumented_file and coverage, and the value coverage_file_identifier, are the only items shared with the reporter. Otherwise, the reporter is self-contained.
type instrumented_file = {- filename : string;(*- Source file name. *)
- points : int list;(*- Byte offsets of the points placed in the file. *)
- counts : int array;(*- Visitation counts, one for each point. *)
}Data gathered for a single source file.
A binary instrumented with Bisect, when run, produces coverage statistics for each of its source files. The runtime and reporter both index the statistics by source file name.
A string written at the beginning of each bisect*.coverage files. Provides a sanity check for the reporter that it is reading a bisect*.coverage file, and the file format version.
Initialization
Each source file is instrumented to call Bisect.Runtime.register_file at run time, during program initialization. Bisect.Runtime.register_file eventually forwards to this function, Biesct_common.register_file. This function allocates the visit count array, with one array cell for each point, and registers the array for later writing to bisect*.coverage files.
- ~filenameis the name of the source file.
- ~pointsis the list of byte offsets of the instrumentation points placed in the source file.
The return value is the function that is called by each instrumentation point to increment its own visit count. The instrumentation point passes its own index to the function.
.coverage output
Writes the coverage to the given output channel.
Writes the current accumulated coverage data (of type coverage) to the given output channel.
Same as write_runtime_data, but writes the output to a string instead.
None is returned if there are no source files registered. This can occur when the runtime gets linked into a binary, but no files had been instrumented, because instrumentation was turned off. This combination normally shouldn't happen, but it can occur depending on the quality of the integration between the build system and Bisect.
Clears accumulated visit counts. All array cells are set to zero.
Returns a random filename with the given prefix.